home *** CD-ROM | disk | FTP | other *** search
/ Windows 95 Super Collection / Windows 95 Super Collection.iso / win95 / programm / vbxstd20 / vbxstd20.h_ / VBXSTD20.H
Encoding:
C/C++ Source or Header  |  1995-07-20  |  89.1 KB  |  1,617 lines

  1. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  2. //
  3. //             VBXSTD20.H
  4. //            COPYRIGHT HEXANET 1993-1995 - All rights reserved
  5. //            Classes and defines for VBX Studio 2.0 VBXs.
  6. //
  7. //            You can use this file as you want.
  8. //
  9. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  10. //
  11. //            Defines can be used instead of values.
  12. //            Following classes provide an easy way to read and write VBX properties with VC++:
  13. //            For instance, you can use:
  14. //
  15. //            CVBEdit* VBEdit1;
  16. //            DWORD a;
  17. //            VBEdit1->Increment() = TRUE;
  18. //            VBEdit1->MinRange() = VBEdit1->MaxRange();
  19. //            a = VBEdit1->GetSel();
  20. //
  21. //            instead of:
  22. //
  23. //            CVBControl* VBEdit1;
  24. //            VBEdit1->SetNumProperty( "Increment", TRUE );
  25. //            VBEdit1->SetFloatProperty( "MinRange", VBEdit1->GetFloatProperty("MaxRange") );
  26. //            ...
  27. //
  28. //            You can use properties class ( CInt, CLong... ) as you do with int or long, but don' t misunderstood,
  29. //            following classes use methods ( with () ), not variables ( without () ), like VB do.
  30. //
  31. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  32. //
  33. //            Also, you can integrate these classes into VC++ AppStudio thanks to VBX ( to allow you to create
  34. //            an instance for these classes into AppStudio ): To do this, you must manually add some DDX in your
  35. //            APSTUDIO.INI file, see DDX.TXT to do it.
  36. //
  37. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  38. //
  39. //            Regarding VBX events management, there are some functions to make it easier:
  40. //
  41. //            EventClickID( LPPARAM lp ) --> returns the ID
  42. //            EventClickString( LPPARAM lp ) --> returns the String ...
  43.  
  44. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  45. #ifndef _ASVBDO12_H
  46. #include <asvbdo12.h>
  47. #endif
  48.  
  49. #define _VBXSTD20_H
  50.  
  51. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  52. //    PART 1 - Defines for most used properties
  53. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  54.                 
  55.                 
  56.                 // ---------------------------------------------------
  57.                 //    Color40: Used for colors lists ( BackColor.. )
  58.                 // ---------------------------------------------------
  59.                 #define COLOR40_SYSTEM                0
  60.                 #define COLOR40_WHITE                  1
  61.                 #define COLOR40_BLACK                  2
  62.                 #define COLOR40_GREY100                3
  63.                 #define COLOR40_LIGHTGREY         4
  64.                 #define COLOR40_GREY150                5
  65.                 #define COLOR40_DARKGREY         6
  66.                 #define COLOR40_CYAN25                7
  67.                 #define COLOR40_CYAN50                8
  68.                 #define COLOR40_CYAN100                9
  69.                 #define COLOR40_LIGHTCYAN        10
  70.                 #define COLOR40_DARKCYAN        11
  71.                 #define COLOR40_CYAN200               12
  72.                 #define COLOR40_BLUE50                13
  73.                 #define COLOR40_BLUEGREEN        14
  74.                 #define COLOR40_BLUE150                15
  75.                 #define COLOR40_LIGHTBLUE         16
  76.                 #define COLOR40_BLUE200                17
  77.                 #define COLOR40_DARKBLUE         18
  78.                 #define COLOR40_BLUE250                19
  79.                 #define COLOR40_GREEN25               20
  80.                 #define COLOR40_GREEN50                21
  81.                 #define COLOR40_GREEN100          22
  82.                 #define COLOR40_LIGHTGREEN         23
  83.                 #define COLOR40_GREEN200          24
  84.                 #define COLOR40_GREEN250            25
  85.                 #define COLOR40_DRAKGREEN       26
  86.                 #define COLOR40_KHAKI                  27
  87.                 #define COLOR40_YELLOW50        28
  88.                 #define COLOR40_YELLOW100        29
  89.                 #define COLOR40_LIGHTYELLOW     30
  90.                 #define COLOR40_YELLOW150         31
  91.                 #define COLOR40_ORANGE              32
  92.                 #define COLOR40_BEIGE                 33
  93.                 #define COLOR40_DARKYELLOW     34
  94.                 #define COLOR40_BROWN              35
  95.                 #define COLOR40_PINK100                36
  96.                 #define COLOR40_RED100                37
  97.                 #define COLOR40_LIGHTRED         38
  98.                 #define COLOR40_DARKRED             39
  99.                 #define COLOR40_FUSHIA50          40
  100.                 #define COLOR40_FUSHIA100          41
  101.                 #define COLOR40_LIGHTFUSHIA       42
  102.                 #define COLOR40_DARKFUSHIA       43
  103.                 
  104.                 // ---------------------------------------------------
  105.                 //    RGB Colors ( when a CLong
  106.                 //    property is defined for a color value )
  107.                 // ---------------------------------------------------         
  108.                 #define RGB_WHITE                RGB(255,255,255)
  109.                 #define RGB_BLACK                RGB(0,0,0)
  110.                 #define RGB_DARKGREY        RGB(128,128,128)
  111.                 #define RGB_LIGHTGREY        RGB( 192,192,192)
  112.                 #define RGB_LIGHTRED          RGB(255,0,0)
  113.                 #define RGB_DARKRED             RGB(128,0,0)
  114.                 #define RGB_LIGHTGREEN       RGB(0,255,0)
  115.                 #define RGB_DARKGREEN       RGB(0,128,0)
  116.                 #define RGB_LIGHTBLUE        RGB(0,0,255)
  117.                 #define RGB_DARKBLUE        RGB(0,0,128)
  118.                 #define RGB_YELLOW              RGB(255,255,0)
  119.                 #define RGB_BROWN              RGB(128,128,0)
  120.                 #define RGB_LIGHTCYAN        RGB(0,255,255)                                                 
  121.                 #define RGB_DARKCYAN        RGB(0,128,128)                                                 
  122.                 #define RGB_LIGHTFUSHIA        RGB(255,0,255)                                                 
  123.                 #define RGB_DARKFUSHIA        RGB(128,0,128)                                                 
  124.  
  125.                 
  126.                 // ---------------------------------------------------
  127.                 //    TextAlignment
  128.                 // ---------------------------------------------------
  129.                 #define TEXT_CENTRE        0
  130.                 #define TEXT_RIGHT          1
  131.                 #define TEXT_LEFT           2
  132.  
  133.                 // ---------------------------------------------------
  134.                 //    List and Combo, DataType
  135.                 // ---------------------------------------------------
  136.                 #define DATA_TEXT            0
  137.                 #define DATA_PICTURE     1
  138.                 #define DATA_BOTH           2
  139.  
  140.                 // ---------------------------------------------------
  141.                 //    VBFCombo, VBFList DataType
  142.                 // ---------------------------------------------------
  143.                 #define FCOMBO_FILES                0
  144.                 #define FCOMBO_DRIVES              1
  145.                 #define FCOMBO_USER                   2
  146.                 #define FLIST_FILES                        0
  147.                 #define FLIST_DIRS                           1
  148.                 #define FLIST_USER                           2
  149.  
  150.  
  151.                 // ---------------------------------------------------
  152.                 //    VBFCombo, FilesDisplay
  153.                 // ---------------------------------------------------
  154.                    #define DISPLAY_QUICK                0
  155.                 #define DISPLAY_WINFILE               1
  156.                 #define DISPLAY_FULL                 2
  157.                 
  158.                 // ---------------------------------------------------
  159.                 //    VBLine, LineStyle
  160.                 // ---------------------------------------------------
  161.                 #define LINE_TOP                    0
  162.                 #define LINE_BOTTOM                1
  163.                 #define LINE_LEFT                    2
  164.                 #define LINE_RIGHT                    3
  165.                 #define LINE_TABRECT            4
  166.                 #define LINE_TABLEFT             5
  167.                 #define LINE_TABBOTTOM         6
  168.                 #define LINE_TABRIGHT            7
  169.                                                                  
  170.                 // ---------------------------------------------------
  171.                 //    VBLine, 3DStyle
  172.                 // ---------------------------------------------------
  173.                 #define LINE3D_NONE                   0
  174.                 #define LINE3D_INSMALL            1
  175.                 #define LINE3D_INLARGE             2
  176.                 #define LINE3D_OUTSMALL          3
  177.                 #define LINE3D_OUTLARGE           4
  178.                 
  179.                 // ---------------------------------------------------
  180.                 //    VBText, Vertical and Hor. positions
  181.                 // ---------------------------------------------------
  182.                 #define VPOS_CENTRE        0 /* VPOS... aren' t available with multiline VBText */
  183.                 #define VPOS_TOP           1
  184.                 #define VPOS_BOTTOM       2
  185.                 #define HPOS_CENTRE        0 
  186.                 #define HPOS_RIGHT          1
  187.                 #define HPOS_LEFT           2
  188.  
  189.                 // ---------------------------------------------------
  190.                 //    VBText, 3DStyle ( text )
  191.                 // ---------------------------------------------------
  192.                 #define _3DTEXT_NONE        0
  193.                 #define _3DTEXT_OUT         1
  194.                 #define _3DTEXT_IN            2
  195.  
  196.                 // ---------------------------------------------------
  197.                 //    VBText, 3D Border 
  198.                 // ---------------------------------------------------
  199.                 #define _3DBORDER_NONE         0
  200.                 #define _3DBORDER_INSET         1
  201.                 #define _3DBORDER_RAISED        2
  202.  
  203.  
  204.                 // ---------------------------------------------------
  205.                 //    VBFlxTxt, ResizeMode
  206.                 // ---------------------------------------------------
  207.                 #define RESIZE_NONE        0
  208.                 #define RESIZE_SIMPLE        1
  209.                 #define RESIZE_DIRNAME            2
  210.  
  211.  
  212.                 // ---------------------------------------------------
  213.                 //    VBEdit, DataType
  214.                 // ---------------------------------------------------
  215.                 #define INPUT_NOCHECK                                0
  216.                 #define INPUT_ALPHANUM                                 1
  217.                 #define INPUT_ALPHA                                      2
  218.                 #define INPUT_NUM                                          3
  219.                 #define INPUT_SIGNEDINT                                  4
  220.                 #define INPUT_UNSIGNEDINT                         5
  221.                 #define INPUT_SIGNEDLONG                         6
  222.                 #define INPUT_UNSIGNEDLONG                       7
  223.                 #define INPUT_FLOAT                                        8
  224.                 #define INPUT_TIME                                        9
  225.                 #define INPUT_DATEUS                                   10  /* MM\DD\YY */    
  226.                 #define INPUT_DATEFRENCH                          11
  227.                 #define INPUT_DATEUSLONG                          12 /* MM\DD\YYYY */    
  228.                 #define INPUT_DATEFRENCHLONG                13
  229.                 #define INPUT_DRIVE                                        14
  230.                 #define INPUT_FILENAME                                  15
  231.                 #define INPUT_FILENAMEANDDIR                 16
  232.                 #define INPUT_FILENAMEANDDIREXIST         17
  233.                 #define INPUT_ALLEXIST                                18            
  234.                 #define INPUT_DIRWITHSLASH                       19
  235.                 #define INPUT_DIRWITHSLASHEXIST                 20
  236.                 #define INPUT_DIRWITHOUTSLASH                21
  237.                 #define INPUT_DIRWITHOUTSLASHEXIST        22
  238.                 #define INPUT_DIRNOCHECK                          23 // with or without slash
  239.                 #define INPUT_DIRNOCHECKEXIST                 24
  240.                 
  241.                 // ---------------------------------------------------
  242.                 //    VBFInfo, <DriveType> (2.0)
  243.                 // ---------------------------------------------------
  244.                 #define VBFINFO_DRIVE_UNKNOWN    0
  245.                     #define VBFINFO_DRIVE_FLOPPY    1
  246.                     #define VBFINFO_DRIVE_FIXED2    2
  247.                     #define VBFINFO_DRIVE_NETWORK   3
  248.                     #define VBFINFO_DRIVE_CDROM    4
  249.                     #define VBFINFO_DRIVE_RAMDISK    5
  250.                 
  251.                 // ---------------------------------------------------
  252.                 //    VBFInfo, <VersionModuleType> (2.0)
  253.                 // ---------------------------------------------------
  254.                 #define VBFINFO_VERSION_APP    0
  255.                     #define VBFINFO_VERSION_DLL    1
  256.                     #define VBFINFO_VERSION_DRIVER  2
  257.                     #define VBFINFO_VERSION_VXD     3
  258.                     #define VBFINFO_VERSION_FONT    4
  259.                     #define VBFINFO_VERSION_LIB    5
  260.                     #define VBFINFO_VERSION_UNKNOWN    6
  261.                 
  262.                 
  263.                 
  264. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  265. //    PART 2 - Object interface
  266. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  267.         
  268.  
  269.  
  270.  
  271.  
  272.             /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  273.             //    New class: CVBFInfo for the VBFInfo VBX (2.0)
  274.             //    
  275.             class CVBFInfo : public CStatic
  276.                 {
  277.                 public:
  278.                 CVBControl* GetVBX() { return (CVBControl*)this; };
  279.                 
  280.                 CBool Archive() { return CBool((CVBControl*)this, 28); }
  281.                 CLong Date() { return CLong((CVBControl*)this, 16); }
  282.                 CInt DateDay() { return CInt((CVBControl*)this, 17); }
  283.                 CInt DateMonth() { return CInt((CVBControl*)this, 18); }
  284.                 CInt DateYear() { return CInt((CVBControl*)this, 19); }
  285.                 CInt DriveType() { return CInt((CVBControl*)this, 44); }
  286.                 CBool DriveValid() { return CBool((CVBControl*)this, 45); }
  287.                 CBool Exist() { return CBool((CVBControl*)this, 23); }
  288.                 CHsz FileName() { return CHsz((CVBControl*)this, 12); }
  289.                 CLong Height() { return CLong((CVBControl*)this, 5); }
  290.                 CLong Help() { return CLong((CVBControl*)this, 9); }
  291.                 CBool Hidden() { return CBool((CVBControl*)this, 27); }
  292.                 CLong Left() { return CLong((CVBControl*)this, 2); }
  293.                 CBool Normal() { return CBool((CVBControl*)this, 29); }
  294.                 CBool ReadOnly() { return CBool((CVBControl*)this, 24); }
  295.                 CLong Size() { return CLong((CVBControl*)this, 15); }
  296.                 CBool System() { return CBool((CVBControl*)this, 25); }
  297.                 CHsz szVersion() { return CHsz((CVBControl*)this, 13); }
  298.                 CHsz Tag() { return CHsz((CVBControl*)this, 8); }
  299.                 CLong Time() { return CLong((CVBControl*)this, 26); }
  300.                 CInt TimeHour() { return CInt((CVBControl*)this, 20); }
  301.                 CInt TimeMin() { return CInt((CVBControl*)this, 21); }
  302.                 CInt TimeSec() { return CInt((CVBControl*)this, 22); }
  303.                 CLong Top() { return CLong((CVBControl*)this, 3); }
  304.                 CFloat Version() { return CFloat((CVBControl*)this, 14); }
  305.                 CBool VersionBeta() { return CBool((CVBControl*)this, 31); }
  306.                 CHsz VersionComment() { return CHsz((CVBControl*)this, 37); }
  307.                 CHsz VersionCompany() { return CHsz((CVBControl*)this, 36); }
  308.                 CHsz VersionCopyright() { return CHsz((CVBControl*)this, 40); }
  309.                 CBool VersionDebug() { return CBool((CVBControl*)this, 30); }
  310.                 CHsz VersionFileDescription() { return CHsz((CVBControl*)this, 39); }
  311.                 CHsz VersionFileName() { return CHsz((CVBControl*)this, 35); }
  312.                 CHsz VersionInternalName() { return CHsz((CVBControl*)this, 34); }
  313.                 CLong VersionLanguageCode() { return CLong((CVBControl*)this, 42); }
  314.                 CHsz VersionLanguageName() { return CHsz((CVBControl*)this, 43); }
  315.                 CInt VersionModuleType() { return CInt((CVBControl*)this, 33); }
  316.                 CBool VersionPatched() { return CBool((CVBControl*)this, 32); }
  317.                 CHsz VersionProductName() { return CHsz((CVBControl*)this, 38); }
  318.                 CHsz VersionTrademarks() { return CHsz((CVBControl*)this, 41); }
  319.                 CLong Width() { return CLong((CVBControl*)this, 4); }
  320.                 };
  321.  
  322.  
  323.             /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  324.             //    New class: CVBBitmap for the VBBitmap VBX (2.0)
  325.             //    
  326.             class CVBBitmap : public CStatic
  327.                 {
  328.                 public:
  329.                 CVBControl* GetVBX() { return (CVBControl*)this; };
  330.  
  331.                 CInt BackColor() { return CInt((CVBControl*)this, 17); }
  332.                 CBool Border3D() { return CBool((CVBControl*)this, 18); }
  333.                 CInt DisplayMode() { return CInt((CVBControl*)this, 11); }
  334.                 CBool Enabled() { return CBool((CVBControl*)this, 22); }
  335.                 CLong Height() { return CLong((CVBControl*)this, 5); }
  336.                 CLong Left() { return CLong((CVBControl*)this, 2); }
  337.                 CInt MousePointer() { return CInt((CVBControl*)this, 23); }
  338.                 CPicture Picture() { return CPicture((CVBControl*)this, 16); }
  339.                 CInt PictureHeight() { return CInt((CVBControl*)this, 15); }
  340.                 CInt PictureWidth() { return CInt((CVBControl*)this, 14); }
  341.                 CHsz Tag() { return CHsz((CVBControl*)this, 10); }
  342.                 CLong Top() { return CLong((CVBControl*)this, 3); }
  343.                 CBool UseTransparentBitmap() { return CBool((CVBControl*)this, 25); }
  344.                 CLong Width() { return CLong((CVBControl*)this, 4); }
  345.                 CInt XMargin() { return CInt((CVBControl*)this, 12); }
  346.                 CInt YMargin() { return CInt((CVBControl*)this, 13); }
  347.                 // events
  348.                 short EventKeyCode( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 1); } // KeyUp, KeyDown
  349.                 short EventKeyShift( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } // KeyUp, KeyDown
  350.                 short EventMouseBtn( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 3); } // MouseUp, MouseDown
  351.                 short EventMouseShift( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 2); } // MouseUp, MouseDown
  352.                 short EventMouseX( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 1); } // MouseUp, MouseDown
  353.                 short EventMouseY( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } // MouseUp, MouseDown
  354.                 };
  355.  
  356.  
  357.             /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  358.             //    New class: CVBBitmap for the VBBitmap VBX (2.0)
  359.             //    
  360.             class CVBFlxTxt : public CStatic
  361.                 {
  362.                 public:
  363.                 CVBControl* GetVBX() { return (CVBControl*)this; };
  364.  
  365.                 CInt BackColor() { return CInt((CVBControl*)this, 11); }
  366.                 CHsz Caption() { return CHsz((CVBControl*)this, 19); }
  367.                 CInt CaseType() { return CInt((CVBControl*)this, 31); }
  368.                 CBool Enabled() { return CBool((CVBControl*)this, 26); }
  369.                 CLong ForeColor() { return CLong((CVBControl*)this, 25); }
  370.                 CBool FontBold() { return CBool((CVBControl*)this, 21); }
  371.                 CBool FontItalic() { return CBool((CVBControl*)this, 22); }
  372.                 CHsz FontName() { return CHsz((CVBControl*)this, 20); }
  373.                 CFloat FontSize() { return CFloat((CVBControl*)this, 24); }
  374.                 CBool FontUnderline() { return CBool((CVBControl*)this, 23); }
  375.                 CInt Frame3D() { return CInt((CVBControl*)this, 29); }
  376.                 CLong Height() { return CLong((CVBControl*)this, 5); }
  377.                 CInt HorizAlignment() { return CInt((CVBControl*)this, 14); }
  378.                 CLong Left() { return CLong((CVBControl*)this, 2); }
  379.                 CInt MousePointer() { return CInt((CVBControl*)this, 27); }
  380.                 CInt ResizeMode() { return CInt((CVBControl*)this, 15); }
  381.                 CInt Style3D() { return CInt((CVBControl*)this, 12); }
  382.                 // The following array property is write only
  383.                 void TabList( LONG lValue, int index = 0) { ((CVBControl*)this)->SetNumProperty( 30, lValue, index ); } 
  384.                 CHsz Tag() { return CHsz((CVBControl*)this, 10); }
  385.                 CLong Top() { return CLong((CVBControl*)this, 3); }
  386.                 CInt VerticalAlignment() { return CInt((CVBControl*)this, 13); }
  387.                 CBool Visible() { return CBool((CVBControl*)this, 6); }
  388.                 CLong Width() { return CLong((CVBControl*)this, 4); }
  389.                 // events
  390.                 short EventKeyCode( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 1); } // KeyUp, KeyDown
  391.                 short EventKeyShift( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } // KeyUp, KeyDown
  392.                 short EventMouseBtn( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 3); } // MouseUp, MouseDown
  393.                 short EventMouseShift( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 2); } // MouseUp, MouseDown
  394.                 short EventMouseX( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 1); } // MouseUp, MouseDown
  395.                 short EventMouseY( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } // MouseUp, MouseDown
  396.                 };
  397.  
  398.  
  399.  
  400.  
  401.             /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  402.             //    New class: CVBMask for the VBMask VBX (2.0)
  403.             //    
  404.             class CVBMask : public CEdit
  405.                 {
  406.                 public:
  407.                 CVBControl* GetVBX() { return (CVBControl*)this; };
  408.  
  409.                 CInt Alignment() { return CInt((CVBControl*)this, 55); }
  410.                 CBool AllowBlankField() { return CBool((CVBControl*)this, 41); }
  411.                 CLong BackColor() { return CLong((CVBControl*)this, 20); }
  412.                 CBool BeepIfError() { return CBool((CVBControl*)this, 33); }
  413.                 CBool Border3D() { return CBool((CVBControl*)this, 21); }
  414.                 CInt BorderStyle() { return CInt((CVBControl*)this, 19); }
  415.                 CInt Case() { return CInt((CVBControl*)this, 25); }
  416.                 CBool Decrement() { return CBool((CVBControl*)this, 38); }
  417.                 CBool FontBold() { return CBool((CVBControl*)this, 12); }
  418.                 CBool FontItalic() { return CBool((CVBControl*)this, 42); }
  419.                 CHsz FontName() { return CHsz((CVBControl*)this, 11); }
  420.                 CFloat FontSize() { return CFloat((CVBControl*)this, 13); }
  421.                 CBool FontUnderline() { return CBool((CVBControl*)this, 43); }
  422.                 CLong ForeColor() { return CLong((CVBControl*)this, 14); }
  423.                 CHsz FormattedResult() { return CHsz((CVBControl*)this, 53); }
  424.                 CLong Height() { return CLong((CVBControl*)this, 5); }
  425.                 CBool Increment() { return CBool((CVBControl*)this, 37); }
  426.                 CInt IncrementValue() { return CInt((CVBControl*)this, 36); }
  427.                 CBool IsValid() { return CBool((CVBControl*)this, 35); }
  428.                 CInt iValue() { return CInt((CVBControl*)this, 48); }
  429.                 CLong lValue() { return CLong((CVBControl*)this, 49); }
  430.                 CLong Left() { return CLong((CVBControl*)this, 2); }
  431.                 CInt MaskType() { return CInt((CVBControl*)this, 30); }
  432.                 CInt MaxLength() { return CInt((CVBControl*)this, 57); }
  433.                 CFloat MaxRange() { return CFloat((CVBControl*)this, 31); }
  434.                 CFloat MinRange() { return CFloat((CVBControl*)this, 32); }
  435.                 CHsz NegativeMask() { return CHsz((CVBControl*)this, 46); }
  436.                 CBool NoHideSelection() { return CBool((CVBControl*)this, 26); }
  437.                 CBool OEMConvert() { return CBool((CVBControl*)this, 27); }
  438.                 CBool PasswordChars() { return CBool((CVBControl*)this, 28); }
  439.                 CHsz PositiveMask() { return CHsz((CVBControl*)this, 45); }
  440.                 CBool ReadOnly() { return CBool((CVBControl*)this, 29); }
  441.                 CFloat rValue() { return CFloat((CVBControl*)this, 50); }
  442.                 CBool SelectText() { return CBool((CVBControl*)this, 52); }
  443.                 CBool SetSel2() { return CBool((CVBControl*)this, 34); }
  444.                 CHsz StringMask() { return CHsz((CVBControl*)this, 44); }
  445.                 CInt SysRefresh() { return CInt((CVBControl*)this, 56); }
  446.                 CBool TabStop() { return CBool((CVBControl*)this, 16); }
  447.                 CHsz Tag() { return CHsz((CVBControl*)this, 10); }
  448.                 CHsz Text() { return CHsz((CVBControl*)this, 39); }
  449.                 CLong Top() { return CLong((CVBControl*)this, 3); }
  450.                 CHsz UnformattedValue() { return CHsz((CVBControl*)this, 54); }
  451.                 CBool UseSystemColors() { return CBool((CVBControl*)this, 40); }
  452.                 CBool Visible() { return CBool((CVBControl*)this, 6); }
  453.                 CLong Width() { return CLong((CVBControl*)this, 4); }
  454.                 CHsz ZeroMask() { return CHsz((CVBControl*)this, 47); }
  455.                 };
  456.  
  457.  
  458.  
  459.             /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  460.             //    New class: CVBIni for the VBIni VBX (2.0)
  461.             //    Notice there is no GetVBX method since VBEdit is derived from CVBControl
  462.             //
  463.             class CVBIni : public CVBControl
  464.                 {
  465.                 public:
  466.                 CBool bValue() { return CBool(this, 19); }
  467.                 CBool FileExist() { return CBool(this, 21); }
  468.                 CHsz FileName() { return CHsz(this, 12); }
  469.                 CLong Height() { return CLong(this, 5); }
  470.                 CInt iValue() { return CInt(this, 16); }
  471.                 CHsz Key() { return CHsz(this, 14); }
  472.                 CBool KeyExist() { return CBool(this, 20); }
  473.                 CLong Left() { return CLong(this, 2); }
  474.                 CLong lValue() { return CLong(this, 17); }
  475.                 CFloat rValue() { return CFloat(this, 18); }
  476.                 CHsz Section() { return CHsz(this, 13); }
  477.                 CHsz sValue() { return CHsz(this, 15); }
  478.                 CHsz Tag() { return CHsz(this, 8); }
  479.                 CLong Top() { return CLong(this, 3); }
  480.                 CLong Width() { return CLong(this, 4); }
  481.                 };
  482.  
  483.  
  484.             /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  485.             //    CVBSpin class for the VBSpin VBX
  486.             //    
  487.             class CVBSpin : public CStatic
  488.                 {
  489.                 public:
  490.                 CVBControl* GetVBX() { return (CVBControl*)this; };
  491.                 CHsz CtlName() { return CHsz((CVBControl*)this, 0); }
  492.                 CLong Left() { return CLong((CVBControl*)this, 2); }
  493.                 CLong Top() { return CLong((CVBControl*)this, 3); }
  494.                 CLong Width() { return CLong((CVBControl*)this, 4); }
  495.                 CLong Height() { return CLong((CVBControl*)this, 5); }
  496.                 CBool Visible() { return CBool((CVBControl*)this, 6); }
  497.                 CHsz Tag() { return CHsz((CVBControl*)this, 10); }
  498.                 //CBool TabStop() { return CBool((CVBControl*)this, 14); }    // removed
  499.                 CBool Enabled() { return CBool((CVBControl*)this, 12); }
  500.                 CInt AssociatedID() { return CInt((CVBControl*)this, 14); } // special
  501.                 CLong ArrowsColor() { return CLong((CVBControl*)this, 15); }
  502.                 CLong BorderColor() { return CLong((CVBControl*)this, 16); }
  503.                 CFloat Minimum() { return CFloat((CVBControl*)this, 17); }
  504.                 CFloat Maximum() { return CFloat((CVBControl*)this, 18); }
  505.                 CFloat Value() { return CFloat((CVBControl*)this, 19); }
  506.                 CBool HandCursor() { return CBool((CVBControl*)this, 20); }
  507.                 CBool AutoPos() { return CBool((CVBControl*)this, 21); }
  508.                 CBool UseSystemColors() { return CBool((CVBControl*)this, 25); }
  509.                 CInt AssociatedHwnd() { return CInt((CVBControl*)this, 26); } // special
  510.                 CBool HorizontalMode() { return CBool((CVBControl*)this, 27); } // 2.0
  511.                 // Events support 
  512.                 short EventKeyCode( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 1); } // KeyUp, KeyDown
  513.                 short EventKeyShift( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } // KeyUp, KeyDown
  514.                 short EventKeyPress( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAM( short, lp ); } // KeyPress
  515.                 short EventMouseBtn( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 3); } // MouseUp, MouseDown
  516.                 short EventMouseShift( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 2); } // MouseUp, MouseDown
  517.                 short EventMouseX( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 1); } // MouseUp, MouseDown
  518.                 short EventMouseY( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } // MouseUp, MouseDown
  519.                 };    
  520.                     
  521.             
  522.  
  523.             /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  524.             //    CVBEdit class for the VBEdit VBX
  525.             //    
  526.             class CVBEdit : public CEdit
  527.                 {
  528.                 public:
  529.                 CVBControl* GetVBX() { return (CVBControl*)this; };
  530.                 CHsz CtlName() { return CHsz((CVBControl*)this, 0); }
  531.                 CLong Left() { return CLong((CVBControl*)this, 2); }
  532.                 CLong Top() { return CLong((CVBControl*)this, 3); }
  533.                 CLong Width() { return CLong((CVBControl*)this, 4); }
  534.                 CLong Height() { return CLong((CVBControl*)this, 5); }
  535.                 CBool Visible() { return CBool((CVBControl*)this, 6); }
  536.                 CHsz Tag() { return CHsz((CVBControl*)this, 10); }
  537.                 CHsz FontName() { return CHsz((CVBControl*)this, 11); }
  538.                 CBool FontBold() { return CBool((CVBControl*)this, 12); }
  539.                 CFloat FontSize() { return CFloat((CVBControl*)this, 13); }
  540.                 CLong ForeColor() { return CLong((CVBControl*)this, 14); }
  541.                 CBool TabStop() { return CBool((CVBControl*)this, 16); }
  542.                 CBool Enabled() { return CBool((CVBControl*)this, 17); }
  543.                 CInt BorderStyle() { return CInt((CVBControl*)this, 19); }
  544.                 CLong BackColor() { return CLong((CVBControl*)this, 20); }
  545.                 CBool Border3D() { return CBool((CVBControl*)this, 21); }
  546.                 CInt Case() { return CInt((CVBControl*)this, 25); }
  547.                 CBool NoHideSelection() { return CBool((CVBControl*)this, 26); }
  548.                 CBool OEMConvert() { return CBool((CVBControl*)this, 27); }
  549.                 CBool PasswordChars() { return CBool((CVBControl*)this, 28); }
  550.                 CBool ReadOnly() { return CBool((CVBControl*)this, 29); }
  551.                 CInt DataType() { return CInt((CVBControl*)this, 30); }
  552.                 CInt MaxLength() { return CInt((CVBControl*)this, 31); }
  553.                 CFloat MaxRange() { return CFloat((CVBControl*)this, 32); }
  554.                 CFloat MinRange() { return CFloat((CVBControl*)this, 33); }
  555.                 CBool BeepIfError() { return CBool((CVBControl*)this, 34); }
  556.                 CBool AllowAutoChange() { return CBool((CVBControl*)this, 35); }
  557.                 CInt SetSel2() { return CInt((CVBControl*)this, 36); } // special, we use CEdit::SetSel instead
  558.                 CBool IsValid() { return CBool((CVBControl*)this, 37); } // special
  559.                 CInt IncrementValue() { return CInt((CVBControl*)this, 38); }
  560.                 CBool Increment() { return CBool((CVBControl*)this, 39); } // special
  561.                 CBool Decrement() { return CBool((CVBControl*)this, 40); } // special
  562.                 CHsz Text() { return CHsz((CVBControl*)this, 41); }
  563.                 CBool UseSystemColors() { return CBool((CVBControl*)this, 42); }
  564.                 CBool AllowBlankField() { return CBool((CVBControl*)this, 43); }
  565.                 CInt Alignment() { return CInt((CVBControl*)this, 44); } // 2.0
  566.                 CInt SysRefresh() { return CInt((CVBControl*)this, 45); } // 2.0
  567.                 CInt iValue() { return CInt((CVBControl*)this, 46); } // 2.0
  568.                 CLong lValue() { return CLong((CVBControl*)this, 47); } // 2.0
  569.                 CFloat rValue() { return CFloat((CVBControl*)this, 48); } // 2.0
  570.                 CBool UseSystemCfg() { return CBool((CVBControl*)this, 49); } // 2.0
  571.                 CInt DecimalDigits() { return CInt((CVBControl*)this, 50); } // 2.0
  572.  
  573.                 };
  574.  
  575.             
  576.             
  577.             /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  578.             //    CVBList class for the VBList VBX
  579.             //    
  580.             class CVBList : public CListBox
  581.                 {
  582.                 public:
  583.                 CVBControl* GetVBX() { return (CVBControl*)this; };
  584.                 CHsz CtlName() { return CHsz((CVBControl*)this, 0); }
  585.                 CLong Left() { return CLong((CVBControl*)this, 2); }
  586.                 CLong Top() { return CLong((CVBControl*)this, 3); }
  587.                 CLong Width() { return CLong((CVBControl*)this, 4); }
  588.                 CLong Height() { return CLong((CVBControl*)this, 5); }
  589.                 CBool Visible() { return CBool((CVBControl*)this, 6); }
  590.                 CHsz Tag() { return CHsz((CVBControl*)this, 10); }
  591.                 CInt ItemHeight() { return CInt((CVBControl*)this, 11); }
  592.                 CBool UseHorzScrollBar() { return CBool((CVBControl*)this, 12); }
  593.                 CInt DataType() { return CInt((CVBControl*)this, 13); }
  594.                 CInt DisplayMode() { return CInt((CVBControl*)this, 14); }
  595.                 CInt PictureWidth() { return CInt((CVBControl*)this, 15); }
  596.                 CInt PictureHeight() { return CInt((CVBControl*)this, 16); }
  597.                 CInt PictureXMargin() { return CInt((CVBControl*)this, 17); }
  598.                 CInt PictureYMargin() { return CInt((CVBControl*)this, 18); }
  599.                 CInt TextXMargin() { return CInt((CVBControl*)this, 19); }
  600.                 CInt TextYMargin() { return CInt((CVBControl*)this, 20); }
  601.                 CBool Sort() { return CBool((CVBControl*)this, 21); }
  602.                 CBool MultipleSel() { return CBool((CVBControl*)this, 22); }
  603.                 CBool DisableNoScroll() { return CBool((CVBControl*)this, 23); }
  604.                 CBool NoRedraw() { return CBool((CVBControl*)this, 24); }
  605.                 CInt BackColor() { return CInt((CVBControl*)this, 25); }
  606.                 CInt Text3D() { return CInt((CVBControl*)this, 26); }
  607.                 CInt TextAlignment() { return CInt((CVBControl*)this, 27); }
  608.                 CHsz Caption() { return CHsz((CVBControl*)this, 28); }
  609.                 CHsz FontName() { return CHsz((CVBControl*)this, 29); }
  610.                 CBool FontBold() { return CBool((CVBControl*)this, 30); }
  611.                 CFloat FontSize() { return CFloat((CVBControl*)this, 31); }
  612.                 CLong ForeColor() { return CLong((CVBControl*)this, 32); }
  613.                 CBool TabStop() { return CBool((CVBControl*)this, 34); }
  614.                 CBool Enabled() { return CBool((CVBControl*)this, 35); }
  615.                 CInt MousePointer() { return CInt((CVBControl*)this, 36); }
  616.                 CPicture Bitmap01() { return CPicture((CVBControl*)this, 38); }
  617.                 CPicture Bitmap02() { return CPicture((CVBControl*)this, 39); }
  618.                 CPicture Bitmap03() { return CPicture((CVBControl*)this, 40); }
  619.                 CPicture Bitmap04() { return CPicture((CVBControl*)this, 41); }
  620.                 CPicture Bitmap05() { return CPicture((CVBControl*)this, 42); }
  621.                 CPicture Bitmap06() { return CPicture((CVBControl*)this, 43); }
  622.                 CPicture Bitmap07() { return CPicture((CVBControl*)this, 44); }
  623.                 CPicture Bitmap08() { return CPicture((CVBControl*)this, 45); }
  624.                 CPicture Bitmap09() { return CPicture((CVBControl*)this, 46); }
  625.                 CPicture Bitmap10() { return CPicture((CVBControl*)this, 47); }
  626.                 CPicture Bitmap11() { return CPicture((CVBControl*)this, 48); }
  627.                 CPicture Bitmap12() { return CPicture((CVBControl*)this, 49); }
  628.                 CPicture Bitmap13() { return CPicture((CVBControl*)this, 50); }
  629.                 CPicture Bitmap14() { return CPicture((CVBControl*)this, 51); }
  630.                 CPicture Bitmap15() { return CPicture((CVBControl*)this, 52); }
  631.                 CPicture Bitmap16() { return CPicture((CVBControl*)this, 53); }
  632.                 CPicture Bitmap17() { return CPicture((CVBControl*)this, 54); }
  633.                 CPicture Bitmap18() { return CPicture((CVBControl*)this, 55); }
  634.                 CPicture Bitmap19() { return CPicture((CVBControl*)this, 56); }
  635.                 CPicture Bitmap20() { return CPicture((CVBControl*)this, 57); }
  636.                 CPicture Bitmap21() { return CPicture((CVBControl*)this, 58); }
  637.                 CPicture Bitmap22() { return CPicture((CVBControl*)this, 59); }
  638.                 CPicture Bitmap23() { return CPicture((CVBControl*)this, 60); }
  639.                 CPicture Bitmap24() { return CPicture((CVBControl*)this, 61); }
  640.                 CPicture Bitmap25() { return CPicture((CVBControl*)this, 62); }
  641.                 CPicture Bitmap26() { return CPicture((CVBControl*)this, 63); }
  642.                 CPicture Bitmap27() { return CPicture((CVBControl*)this, 64); }
  643.                 CPicture Bitmap28() { return CPicture((CVBControl*)this, 65); }
  644.                 CPicture Bitmap29() { return CPicture((CVBControl*)this, 66); }
  645.                 CPicture Bitmap30() { return CPicture((CVBControl*)this, 67); }
  646.                 CBool UseTranspBitmap() { return CBool((CVBControl*)this, 68); }
  647.                 CBool AlwaysBitmapped() { return CBool((CVBControl*)this, 69); }
  648.                 CBool ModeTest() { return CBool((CVBControl*)this, 70); }
  649.                 CBool Border3D() { return CBool((CVBControl*)this, 72); }
  650.                 CBool ParentNotify() { return CBool((CVBControl*)this, 75); }
  651.                 CInt ListCount() { return CInt((CVBControl*)this, 76); } // special
  652.                 // The following array properties are read-only
  653.                 BOOL ListIndex( int index = 0) { return (BOOL)((CVBControl*)this)->GetNumProperty( 77, index ); } // special
  654.                 CString ListString( int index = 0) { return (CString)((CVBControl*)this)->GetStrProperty( 78, index ); } // special
  655.                 CBool SetRedraw2() { return CBool((CVBControl*)this, 79); } // we use CWnd::SetRedraw instead
  656.                 CLong SetSel2() { return CLong((CVBControl*)this, 80); } // special, we use CListBox::SetSel instead
  657.                 CBool FontItalic() { return CBool((CVBControl*)this, 81); }     // 2.0
  658.                 CBool FontUnderline() { return CBool((CVBControl*)this, 82); }     // 2.0
  659.                 CBool FontStrike() { return CBool((CVBControl*)this, 83); }     // 2.0
  660.                 CInt CaseType() { return CInt((CVBControl*)this, 84); }     // 2.0
  661.                 // Events support
  662.                 short EventDblClkID( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAM( short, lp); }
  663.                 short EventSelChangeID( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAM( short, lp); }
  664.                 short EventKeyCode( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 1); } // KeyUp, KeyDown
  665.                 short EventKeyShift( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } // KeyUp, KeyDown
  666.                 short EventKeyPress( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAM( short, lp ); } // KeyPress
  667.                 short EventMouseBtn( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 3); } // MouseUp, MouseDown
  668.                 short EventMouseShift( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 2); } // MouseUp, MouseDown
  669.                 short EventMouseX( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 1); } // MouseUp, MouseDown
  670.                 short EventMouseY( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } // MouseUp, MouseDown
  671.                 };
  672.                                 
  673.  
  674.  
  675.  
  676.             /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  677.             //    CVBTabList class for the VBTabList VBX (2.0)
  678.             //    
  679.             class CVBTabList : public CListBox
  680.                 {
  681.                 public:
  682.                 CVBControl* GetVBX() { return (CVBControl*)this; };
  683.                 CHsz CtlName() { return CHsz((CVBControl*)this, 0); }
  684.                 CLong Left() { return CLong((CVBControl*)this, 2); }
  685.                 CLong Top() { return CLong((CVBControl*)this, 3); }
  686.                 CLong Width() { return CLong((CVBControl*)this, 4); }
  687.                 CLong Height() { return CLong((CVBControl*)this, 5); }
  688.                 CBool Visible() { return CBool((CVBControl*)this, 6); }
  689.                 CHsz Tag() { return CHsz((CVBControl*)this, 8); }
  690.                 CInt ItemHeight() { return CInt((CVBControl*)this, 9); }
  691.                 CBool UseHorzScrollBar() { return CBool((CVBControl*)this, 10); }
  692.                 CInt DataType() { return CInt((CVBControl*)this, 11); }
  693.                 CInt DisplayMode() { return CInt((CVBControl*)this, 12); }
  694.                 CInt PictureWidth() { return CInt((CVBControl*)this, 13); }
  695.                 CInt PictureHeight() { return CInt((CVBControl*)this, 14); }
  696.                 CInt PictureXMargin() { return CInt((CVBControl*)this, 15); }
  697.                 CInt PictureYMargin() { return CInt((CVBControl*)this, 16); }
  698.                 CInt TextXMargin() { return CInt((CVBControl*)this, 17); }
  699.                 CInt TextYMargin() { return CInt((CVBControl*)this, 18); }
  700.                 CBool Sort() { return CBool((CVBControl*)this, 19); }
  701.                 CBool MultipleSel() { return CBool((CVBControl*)this, 20); }
  702.                 CBool DisableNoScroll() { return CBool((CVBControl*)this, 21); }
  703.                 CBool NoRedraw() { return CBool((CVBControl*)this, 22); }
  704.                 CInt BackColor() { return CInt((CVBControl*)this, 23); }
  705.                 CInt Text3D() { return CInt((CVBControl*)this, 24); }
  706.                 CInt TextAlignment() { return CInt((CVBControl*)this, 25); }
  707.                 CHsz Caption() { return CHsz((CVBControl*)this, 26); }
  708.                 CHsz FontName() { return CHsz((CVBControl*)this, 27); }
  709.                 CBool FontBold() { return CBool((CVBControl*)this, 28); }
  710.                 CFloat FontSize() { return CFloat((CVBControl*)this, 29); }
  711.                 CLong ForeColor() { return CLong((CVBControl*)this, 30); }
  712.                 CBool TabStop() { return CBool((CVBControl*)this, 32); }
  713.                 CBool Enabled() { return CBool((CVBControl*)this, 33); }
  714.                 CInt MousePointer() { return CInt((CVBControl*)this, 34); }
  715.                 CPicture Bitmap01() { return CPicture((CVBControl*)this, 36); }
  716.                 CPicture Bitmap02() { return CPicture((CVBControl*)this, 37); }
  717.                 CPicture Bitmap03() { return CPicture((CVBControl*)this, 38); }
  718.                 CPicture Bitmap04() { return CPicture((CVBControl*)this, 39); }
  719.                 CPicture Bitmap05() { return CPicture((CVBControl*)this, 40); }
  720.                 CPicture Bitmap06() { return CPicture((CVBControl*)this, 41); }
  721.                 CPicture Bitmap07() { return CPicture((CVBControl*)this, 42); }
  722.                 CPicture Bitmap08() { return CPicture((CVBControl*)this, 43); }
  723.                 CPicture Bitmap09() { return CPicture((CVBControl*)this, 44); }
  724.                 CPicture Bitmap10() { return CPicture((CVBControl*)this, 45); }
  725.                 CPicture Bitmap11() { return CPicture((CVBControl*)this, 46); }
  726.                 CPicture Bitmap12() { return CPicture((CVBControl*)this, 47); }
  727.                 CPicture Bitmap13() { return CPicture((CVBControl*)this, 48); }
  728.                 CPicture Bitmap14() { return CPicture((CVBControl*)this, 49); }
  729.                 CPicture Bitmap15() { return CPicture((CVBControl*)this, 50); }
  730.                 CPicture Bitmap16() { return CPicture((CVBControl*)this, 51); }
  731.                 CPicture Bitmap17() { return CPicture((CVBControl*)this, 52); }
  732.                 CPicture Bitmap18() { return CPicture((CVBControl*)this, 53); }
  733.                 CPicture Bitmap19() { return CPicture((CVBControl*)this, 54); }
  734.                 CPicture Bitmap20() { return CPicture((CVBControl*)this, 55); }
  735.                 CPicture Bitmap21() { return CPicture((CVBControl*)this, 56); }
  736.                 CPicture Bitmap22() { return CPicture((CVBControl*)this, 57); }
  737.                 CPicture Bitmap23() { return CPicture((CVBControl*)this, 58); }
  738.                 CPicture Bitmap24() { return CPicture((CVBControl*)this, 59); }
  739.                 CPicture Bitmap25() { return CPicture((CVBControl*)this, 60); }
  740.                 CPicture Bitmap26() { return CPicture((CVBControl*)this, 61); }
  741.                 CPicture Bitmap27() { return CPicture((CVBControl*)this, 62); }
  742.                 CPicture Bitmap28() { return CPicture((CVBControl*)this, 63); }
  743.                 CPicture Bitmap29() { return CPicture((CVBControl*)this, 64); }
  744.                 CPicture Bitmap30() { return CPicture((CVBControl*)this, 65); }
  745.                 CBool UseTranspBitmap() { return CBool((CVBControl*)this, 66); }
  746.                 CBool AlwaysBitmapped() { return CBool((CVBControl*)this, 67); }
  747.                 CBool ModeTest() { return CBool((CVBControl*)this, 68); }
  748.                 CBool Border3D() { return CBool((CVBControl*)this, 70); }
  749.                 CBool ParentNotify() { return CBool((CVBControl*)this, 73); }
  750.                 CInt ListCount() { return CInt((CVBControl*)this, 74); } // special
  751.                 // The following array properties are read-only
  752.                 BOOL ListIndex( int index = 0) { return (BOOL)((CVBControl*)this)->GetNumProperty( 75, index ); } // special
  753.                 CString ListString( int index = 0) { return (CString)((CVBControl*)this)->GetStrProperty( 76, index ); } // special
  754.                 CBool SetRedraw2() { return CBool((CVBControl*)this, 77); } // we use CWnd::SetRedraw instead
  755.                 CLong SetSel2() { return CLong((CVBControl*)this, 78); } // special, we use CListBox::SetSel instead
  756.                 // The following array property is write only
  757.                 void TabList( LONG lValue, int index = 0) { ((CVBControl*)this)->SetNumProperty( 79, lValue, index ); } // 2.0
  758.                 CBool FontItalic() { return CBool((CVBControl*)this, 80); }    // 2.0
  759.                 CBool FontUnderline() { return CBool((CVBControl*)this, 81); }    // 2.0
  760.                 CBool FontStrike() { return CBool((CVBControl*)this, 82); }    // 2.0
  761.                 CInt SysRefresh() { return CInt((CVBControl*)this, 83); }    // 2.0
  762.                 CBool WinfileDDrop() { return CBool((CVBControl*)this, 84); }    // 2.0
  763.                 // The following array property is read-only
  764.                 CString DroppedFilename(int index = 0) { return (CString)((CVBControl*)this)->GetStrProperty( 85, index ); } // 2.0
  765.                 CBool UpperCase() { return CBool((CVBControl*)this, 86); }    // 2.0
  766.  
  767.                 // Events support
  768.                 short EventDblClkID( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAM( short, lp); }
  769.                 short EventSelChangeID( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAM( short, lp); }
  770.                 short EventKeyCode( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 1); } // KeyUp, KeyDown
  771.                 short EventKeyShift( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } // KeyUp, KeyDown
  772.                 short EventKeyPress( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAM( short, lp ); } // KeyPress
  773.                 short EventMouseBtn( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 3); } // MouseUp, MouseDown
  774.                 short EventMouseShift( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 2); } // MouseUp, MouseDown
  775.                 short EventMouseX( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 1); } // MouseUp, MouseDown
  776.                 short EventMouseY( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } // MouseUp, MouseDown
  777.                 short EventDroppedFiles( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAM( short, lp ); } // Number of dropped files                
  778.                 };
  779.  
  780.  
  781.  
  782.                     
  783.             /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  784.             //    CVBFList class for the VBFList VBX
  785.             //    
  786.             class CVBFList : public CListBox
  787.                 {
  788.                 public:
  789.                 CVBControl* GetVBX() { return (CVBControl*)this; };
  790.                 CHsz CtlName() { return CHsz((CVBControl*)this, 0); }
  791.                 CLong Left() { return CLong((CVBControl*)this, 2); }
  792.                 CLong Top() { return CLong((CVBControl*)this, 3); }
  793.                 CLong Width() { return CLong((CVBControl*)this, 4); }
  794.                 CLong Height() { return CLong((CVBControl*)this, 5); }
  795.                 CBool Visible() { return CBool((CVBControl*)this, 6); }
  796.                 CHsz Tag() { return CHsz((CVBControl*)this, 10); }
  797.                 CHsz FontName() { return CHsz((CVBControl*)this, 11); }
  798.                 CBool FontBold() { return CBool((CVBControl*)this, 12); }
  799.                 CFloat FontSize() { return CFloat((CVBControl*)this, 13); }
  800.                 CLong ForeColor() { return CLong((CVBControl*)this, 14); }
  801.                 CBool TabStop() { return CBool((CVBControl*)this, 16); }
  802.                 CBool Enabled() { return CBool((CVBControl*)this, 17); }
  803.                 CInt ItemHeight() { return CInt((CVBControl*)this, 19); }
  804.                 CInt DataType() { return CInt((CVBControl*)this, 20); }
  805.                 CBool MultipleSel() { return CBool((CVBControl*)this, 21); }
  806.                 CBool DisableNoScroll() { return CBool((CVBControl*)this, 22); }
  807.                 CInt BackColor() { return CInt((CVBControl*)this, 23); }
  808.                 CInt Text3D() { return CInt((CVBControl*)this, 24); }
  809.                 CBool UseHorizScrollBar() { return CBool((CVBControl*)this, 25); }
  810.                 CHsz InValue() { return CHsz((CVBControl*)this, 26); } 
  811.                 CHsz OutValue() { return CHsz((CVBControl*)this, 27); } // special
  812.                 CInt StaticID() { return CInt((CVBControl*)this, 28); } // special
  813.                 CInt ListCount() { return CInt((CVBControl*)this, 29); } // special
  814.                 // The following array properties are read-only
  815.                 BOOL ListIndex( int index = 0) { return (BOOL)((CVBControl*)this)->GetNumProperty( 30, index ); } // special
  816.                 CString ListString( int index = 0) { return (CString)((CVBControl*)this)->GetStrProperty( 31, index ); } // special
  817.                 CBool Border3D() { return CBool((CVBControl*)this, 32); }
  818.                 CBool Sort() { return CBool((CVBControl*)this, 36); }
  819.                 CBool ParentNotify() { return CBool((CVBControl*)this, 37); }
  820.                 CInt FilesDisplay() { return CInt((CVBControl*)this, 38); }
  821.                 CBool SetRedraw2() { return CBool((CVBControl*)this, 39); }
  822.                 CLong SetSel2() { return CLong((CVBControl*)this, 40); } // special, use CListBox::SetSel instead
  823.                 CInt StaticHwnd() { return CInt((CVBControl*)this, 41); } // special
  824.                 CBool FontItalic() { return CBool((CVBControl*)this, 42); }    // 2.0
  825.                 CBool FontUnderline() { return CBool((CVBControl*)this, 43); }    // 2.0
  826.                 CBool FontStrike() { return CBool((CVBControl*)this, 44); }    // 2.0
  827.                 CBool UpperCase() { return CBool((CVBControl*)this, 45); }    // 2.0
  828.                 // Events support ( same as VBList )
  829.                 short EventDblClkID( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAM( short, lp); }
  830.                 short EventSelChangeID( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAM( short, lp); }
  831.                 short EventKeyCode( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 1); } // KeyUp, KeyDown
  832.                 short EventKeyShift( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } // KeyUp, KeyDown
  833.                 short EventKeyPress( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAM( short, lp ); } // KeyPress
  834.                 short EventMouseBtn( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 3); } // MouseUp, MouseDown
  835.                 short EventMouseShift( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 2); } // MouseUp, MouseDown
  836.                 short EventMouseX( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 1); } // MouseUp, MouseDown
  837.                 short EventMouseY( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } // MouseUp, MouseDown
  838.                 };
  839.                 
  840.  
  841.  
  842.  
  843.  
  844.             /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  845.             //    CVBTabFList class for the VBTabFList VBX (VBFLIST2.VBX)
  846.             //    
  847.             class CVBTabFList : public CListBox
  848.                 {
  849.                 public:
  850.                 CVBControl* GetVBX() { return (CVBControl*)this; };
  851.                 CHsz CtlName() { return CHsz((CVBControl*)this, 0); }
  852.                 CLong Left() { return CLong((CVBControl*)this, 2); }
  853.                 CLong Top() { return CLong((CVBControl*)this, 3); }
  854.                 CLong Width() { return CLong((CVBControl*)this, 4); }
  855.                 CLong Height() { return CLong((CVBControl*)this, 5); }
  856.                 CBool Visible() { return CBool((CVBControl*)this, 6); }
  857.                 CHsz Tag() { return CHsz((CVBControl*)this, 8); }
  858.                 CHsz FontName() { return CHsz((CVBControl*)this, 9); }
  859.                 CBool FontBold() { return CBool((CVBControl*)this, 10); }
  860.                 CFloat FontSize() { return CFloat((CVBControl*)this, 11); }
  861.                 CLong ForeColor() { return CLong((CVBControl*)this, 12); }
  862.                 CBool TabStop() { return CBool((CVBControl*)this, 14); }
  863.                 CBool Enabled() { return CBool((CVBControl*)this, 15); }
  864.                 CInt ItemHeight() { return CInt((CVBControl*)this, 17); }
  865.                 CInt DataType() { return CInt((CVBControl*)this, 18); }
  866.                 CBool MultipleSel() { return CBool((CVBControl*)this, 19); }
  867.                 CBool DisableNoScroll() { return CBool((CVBControl*)this, 20); }
  868.                 CInt BackColor() { return CInt((CVBControl*)this, 21); }
  869.                 CInt Text3D() { return CInt((CVBControl*)this, 22); }
  870.                 CBool UseHorizScrollBar() { return CBool((CVBControl*)this, 23); }
  871.                 CHsz InValue() { return CHsz((CVBControl*)this, 24); } 
  872.                 CHsz OutValue() { return CHsz((CVBControl*)this, 25); } // special
  873.                 CInt StaticID() { return CInt((CVBControl*)this, 26); } // special
  874.                 CInt ListCount() { return CInt((CVBControl*)this, 27); } // special
  875.                 // The following array properties are read-only
  876.                 BOOL ListIndex( int index = 0) { return (BOOL)((CVBControl*)this)->GetNumProperty( 28, index ); } // special
  877.                 CString ListString( int index = 0) { return (CString)((CVBControl*)this)->GetStrProperty( 29, index ); } // special
  878.                 CBool Border3D() { return CBool((CVBControl*)this, 30); }
  879.                 CBool Sort() { return CBool((CVBControl*)this, 34); }
  880.                 CBool ParentNotify() { return CBool((CVBControl*)this, 35); }
  881.                 CInt FilesDisplay() { return CInt((CVBControl*)this, 36); }
  882.                 CBool SetRedraw2() { return CBool((CVBControl*)this, 37); }
  883.                 CLong SetSel2() { return CLong((CVBControl*)this, 38); } // special, use CListBox::SetSel instead
  884.                 CInt StaticHwnd() { return CInt((CVBControl*)this, 39); } // special
  885.                 // The following array property is write only
  886.                 void TabList(LONG lValue, int index = 0) { ((CVBControl*)this)->SetNumProperty( 40, lValue, index ); } // 2.0
  887.                 CBool FontItalic() { return CBool((CVBControl*)this, 41); }    // 2.0
  888.                 CBool FontUnderline() { return CBool((CVBControl*)this, 42); }    // 2.0
  889.                 CBool FontStrike() { return CBool((CVBControl*)this, 43); }    // 2.0
  890.                 CInt SysRefresh() { return CInt((CVBControl*)this, 44); }    // 2.0
  891.                 CBool WinfileDDrop() { return CBool((CVBControl*)this, 45); }    // 2.0
  892.                 // The following array property is read-only
  893.                 CString DroppedFilename(int index = 0) { return (CString)((CVBControl*)this)->GetStrProperty( 46, index ); } // 2.0
  894.                 CBool UpperCase() { return CBool((CVBControl*)this, 47); }    // 2.0
  895.                 // Events support ( same as VBList )
  896.                 short EventDblClkID( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAM( short, lp); }
  897.                 short EventSelChangeID( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAM( short, lp); }
  898.                 short EventKeyCode( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 1); } // KeyUp, KeyDown
  899.                 short EventKeyShift( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } // KeyUp, KeyDown
  900.                 short EventKeyPress( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAM( short, lp ); } // KeyPress
  901.                 short EventMouseBtn( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 3); } // MouseUp, MouseDown
  902.                 short EventMouseShift( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 2); } // MouseUp, MouseDown
  903.                 short EventMouseX( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 1); } // MouseUp, MouseDown
  904.                 short EventMouseY( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } // MouseUp, MouseDown
  905.                 short EventDroppedFiles( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAM( short, lp ); } // Number of dropped files                
  906.                 };
  907.                 
  908.  
  909.                 
  910.             
  911.             /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  912.             //    CVBCombo class for the VBCombo VBX
  913.             //    
  914.             class CVBCombo : public CComboBox
  915.                 {
  916.                 public:
  917.                 CVBControl* GetVBX() { return (CVBControl*)this; };
  918.                 CHsz CtlName() { return CHsz((CVBControl*)this, 0); }
  919.                 CLong Left() { return CLong((CVBControl*)this, 2); }
  920.                 CLong Top() { return CLong((CVBControl*)this, 3); }
  921.                 CLong Width() { return CLong((CVBControl*)this, 4); }
  922.                 CLong Height() { return CLong((CVBControl*)this, 5); }
  923.                 CBool Visible() { return CBool((CVBControl*)this, 6); }
  924.                 CHsz Tag() { return CHsz((CVBControl*)this, 10); }
  925.                 CHsz Caption() { return CHsz((CVBControl*)this, 11); }
  926.                 CHsz FontName() { return CHsz((CVBControl*)this, 12); }
  927.                 CBool FontBold() { return CBool((CVBControl*)this, 13); }
  928.                 CFloat FontSize() { return CFloat((CVBControl*)this, 14); }
  929.                 CLong ForeColor() { return CLong((CVBControl*)this, 15); }
  930.                 CBool TabStop() { return CBool((CVBControl*)this, 17); }
  931.                 CBool Enabled() { return CBool((CVBControl*)this, 18); }
  932.                 CInt ListCount() { return CInt((CVBControl*)this, 20); }
  933.                 // The following array properties are read-only
  934.                 BOOL ListIndex( int index = 0) { return (BOOL)((CVBControl*)this)->GetNumProperty( 21, index ); } // special
  935.                 CString ListString( int index = 0) { return (CString)((CVBControl*)this)->GetStrProperty( 22, index ); } // special
  936.                 CBool Border3D() { return CBool((CVBControl*)this, 23); }
  937.                 CLong SetSel2() { return CLong((CVBControl*)this, 27); } // special
  938.                 CInt ItemHeight() { return CInt((CVBControl*)this, 28); }
  939.                 CInt ListHeight() { return CInt((CVBControl*)this, 29); }
  940.                 CInt StaticHeight() { return CInt((CVBControl*)this, 30); }
  941.                 CLong InitialValue() { return CLong((CVBControl*)this, 31); }
  942.                 CInt BitmapWidth() { return CInt((CVBControl*)this, 32); }
  943.                 CHsz OutValue() { return CHsz((CVBControl*)this, 33); } // special
  944.                 CInt BitmapHeight() { return CInt((CVBControl*)this, 34); }
  945.                 CInt XMarginBitmap() { return CInt((CVBControl*)this, 35); }
  946.                 CInt YMarginBitmap() { return CInt((CVBControl*)this, 36); }
  947.                 CInt XMarginText() { return CInt((CVBControl*)this, 37); }
  948.                 CInt YMarginText() { return CInt((CVBControl*)this, 38); }
  949.                 CInt DataType() { return CInt((CVBControl*)this, 39); }
  950.                 CInt DisplayMode() { return CInt((CVBControl*)this, 40); }
  951.                 CBool UseTranspBitmap() { return CBool((CVBControl*)this, 41); }
  952.                 CBool AlwaysBitmapped() { return CBool((CVBControl*)this, 42); }
  953.                 CBool TestMode() { return CBool((CVBControl*)this, 43); }
  954.                 CBool AutoSearchInList() { return CBool((CVBControl*)this, 44); }
  955.                 CInt BackColor() { return CInt((CVBControl*)this, 45); }
  956.                 CInt Text3D() { return CInt((CVBControl*)this, 46); }
  957.                 CInt TextAlignment() { return CInt((CVBControl*)this, 47); }
  958.                 CPicture Bitmap01() { return CPicture((CVBControl*)this, 48); }
  959.                 CPicture Bitmap02() { return CPicture((CVBControl*)this, 49); }
  960.                 CPicture Bitmap03() { return CPicture((CVBControl*)this, 50); }
  961.                 CPicture Bitmap04() { return CPicture((CVBControl*)this, 51); }
  962.                 CPicture Bitmap05() { return CPicture((CVBControl*)this, 52); }
  963.                 CPicture Bitmap06() { return CPicture((CVBControl*)this, 53); }
  964.                 CPicture Bitmap07() { return CPicture((CVBControl*)this, 54); }
  965.                 CPicture Bitmap08() { return CPicture((CVBControl*)this, 55); }
  966.                 CPicture Bitmap09() { return CPicture((CVBControl*)this, 56); }
  967.                 CPicture Bitmap10() { return CPicture((CVBControl*)this, 57); }
  968.                 CPicture Bitmap11() { return CPicture((CVBControl*)this, 58); }
  969.                 CPicture Bitmap12() { return CPicture((CVBControl*)this, 59); }
  970.                 CPicture Bitmap13() { return CPicture((CVBControl*)this, 60); }
  971.                 CPicture Bitmap14() { return CPicture((CVBControl*)this, 61); }
  972.                 CPicture Bitmap15() { return CPicture((CVBControl*)this, 62); }
  973.                 CPicture Bitmap16() { return CPicture((CVBControl*)this, 63); }
  974.                 CPicture Bitmap17() { return CPicture((CVBControl*)this, 64); }
  975.                 CPicture Bitmap18() { return CPicture((CVBControl*)this, 65); }
  976.                 CPicture Bitmap19() { return CPicture((CVBControl*)this, 66); }
  977.                 CPicture Bitmap20() { return CPicture((CVBControl*)this, 67); }
  978.                 CPicture Bitmap21() { return CPicture((CVBControl*)this, 68); }
  979.                 CPicture Bitmap22() { return CPicture((CVBControl*)this, 69); }
  980.                 CPicture Bitmap23() { return CPicture((CVBControl*)this, 70); }
  981.                 CPicture Bitmap24() { return CPicture((CVBControl*)this, 71); }
  982.                 CPicture Bitmap25() { return CPicture((CVBControl*)this, 72); }
  983.                 CPicture Bitmap26() { return CPicture((CVBControl*)this, 73); }
  984.                 CPicture Bitmap27() { return CPicture((CVBControl*)this, 74); }
  985.                 CPicture Bitmap28() { return CPicture((CVBControl*)this, 75); }
  986.                 CPicture Bitmap29() { return CPicture((CVBControl*)this, 76); }
  987.                 CPicture Bitmap30() { return CPicture((CVBControl*)this, 77); }
  988.                 // Events support 
  989.                 short EventClickID( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } 
  990.                 LPCSTR EventClickString( LPVOID lp ) { return (LPCSTR)AFX_HLSTR_EVENTPARAMINDEX(  lp, 1); } 
  991.                 short EventSelChangeID( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } 
  992.                 LPCSTR EventSelChangeString( LPVOID lp ) { return (LPCSTR)AFX_HLSTR_EVENTPARAMINDEX( lp, 1); } 
  993.                 short EventKeyCode( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 1); } // KeyUp, KeyDown
  994.                 short EventKeyShift( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } // KeyUp, KeyDown
  995.                 short EventKeyPress( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAM( short, lp ); } // KeyPress
  996.                 short EventMouseBtn( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 3); } // MouseUp, MouseDown
  997.                 short EventMouseShift( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 2); } // MouseUp, MouseDown
  998.                 short EventMouseX( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 1); } // MouseUp, MouseDown
  999.                 short EventMouseY( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } // MouseUp, MouseDown
  1000.                 };
  1001.             
  1002.             
  1003.  
  1004.             /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  1005.             //    CVBFCombo class for the VBFCombo VBX
  1006.             //    
  1007.             class CVBFCombo : public CComboBox
  1008.                 {
  1009.                 public:
  1010.                 CVBControl* GetVBX() { return (CVBControl*)this; };
  1011.                 CHsz CtlName() { return CHsz((CVBControl*)this, 0); }
  1012.                 CLong Left() { return CLong((CVBControl*)this, 2); }
  1013.                 CLong Top() { return CLong((CVBControl*)this, 3); }
  1014.                 CLong Width() { return CLong((CVBControl*)this, 4); }
  1015.                 CLong Height() { return CLong((CVBControl*)this, 5); }
  1016.                 CBool Visible() { return CBool((CVBControl*)this, 6); }
  1017.                 CHsz Tag() { return CHsz((CVBControl*)this, 10); }
  1018.                 CHsz FontName() { return CHsz((CVBControl*)this, 11); }
  1019.                 CBool FontBold() { return CBool((CVBControl*)this, 12); }
  1020.                 CFloat FontSize() { return CFloat((CVBControl*)this, 13); }
  1021.                 CLong ForeColor() { return CLong((CVBControl*)this, 14); }
  1022.                 CInt TabIndex() { return CInt((CVBControl*)this, 15); }
  1023.                 CBool TabStop() { return CBool((CVBControl*)this, 16); }
  1024.                 CBool Enabled() { return CBool((CVBControl*)this, 17); }
  1025.                 CInt ListCount() { return CInt((CVBControl*)this, 19); } // special
  1026.                 // The following array properties are read-only
  1027.                 BOOL ListIndex( int index = 0) { return (BOOL)((CVBControl*)this)->GetNumProperty( 20, index ); } // special
  1028.                 CString ListString( int index = 0) { return (CString)((CVBControl*)this)->GetStrProperty( 21, index ); } // special
  1029.                 CBool Border3D() { return CBool((CVBControl*)this, 22); }
  1030.                 CLong SetSel2() { return CLong((CVBControl*)this, 26); }  // special
  1031.                 CLong InitialValue() { return CLong((CVBControl*)this, 27); }
  1032.                 CInt ItemHeight() { return CInt((CVBControl*)this, 28); }
  1033.                 CInt StaticHeight() { return CInt((CVBControl*)this, 29); }
  1034.                 CInt ListHeight() { return CInt((CVBControl*)this, 30); }
  1035.                 CInt DataType() { return CInt((CVBControl*)this, 31); }
  1036.                 CInt FilesDisplay() { return CInt((CVBControl*)this, 32); }
  1037.                 CBool AutoSearchInList() { return CBool((CVBControl*)this, 33); }
  1038.                 CInt BackColor() { return CInt((CVBControl*)this, 34); }
  1039.                 CInt Text3D() { return CInt((CVBControl*)this, 35); }
  1040.                 CInt TextAlignment() { return CInt((CVBControl*)this, 36); }
  1041.                 CHsz InValue() { return CHsz((CVBControl*)this, 37); }
  1042.                 CHsz OutValue() { return CHsz((CVBControl*)this, 38); }
  1043.                 CBool FontItalic() { return CBool((CVBControl*)this, 39); }    //2.0
  1044.                 CBool FontUnderline() { return CBool((CVBControl*)this, 40); }    //2.0
  1045.                 CBool FontStrike() { return CBool((CVBControl*)this, 41); }    //2.0
  1046.                 CHsz GetCurDir() { return CHsz((CVBControl*)this, 42); }    //2.0
  1047.                 CBool DriveValid() { return CBool((CVBControl*)this, 43); }    //2.0
  1048.                 CBool AutoSetSel2() { return CBool((CVBControl*)this, 44); }    //2.0
  1049.                 CBool GotoDrive() { return CBool((CVBControl*)this, 45); }    //2.0
  1050.                 CBool UpperCase() { return CBool((CVBControl*)this, 46); }    //2.0
  1051.                 // Events support 
  1052.                 short EventSelChangeID( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } 
  1053.                 LPCSTR EventSelChangeString( LPVOID lp ) { return (LPCSTR)AFX_HLSTR_EVENTPARAMINDEX( lp, 1); } 
  1054.                 short EventKeyCode( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 1); } // KeyUp, KeyDown
  1055.                 short EventKeyShift( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } // KeyUp, KeyDown
  1056.                 short EventKeyPress( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAM( short, lp ); } // KeyPress
  1057.                 short EventMouseBtn( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 3); } // MouseUp, MouseDown
  1058.                 short EventMouseShift( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 2); } // MouseUp, MouseDown
  1059.                 short EventMouseX( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 1); } // MouseUp, MouseDown
  1060.                 short EventMouseY( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } // MouseUp, MouseDown
  1061.                 };
  1062.                 
  1063.             
  1064.                     
  1065.                 
  1066.             /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  1067.             //    CVBPictBtn class for the VBPicBtn VBX
  1068.             //    
  1069.             class CVBPicBtn : public CButton
  1070.                 {
  1071.                 public:
  1072.                 CVBControl* GetVBX() { return (CVBControl*)this; };
  1073.                 CHsz CtlName() { return CHsz((CVBControl*)this, 0); }
  1074.                 CLong Left() { return CLong((CVBControl*)this, 2); }
  1075.                 CLong Top() { return CLong((CVBControl*)this, 3); }
  1076.                 CLong Width() { return CLong((CVBControl*)this, 4); }
  1077.                 CLong Height() { return CLong((CVBControl*)this, 5); }
  1078.                 CBool Visible() { return CBool((CVBControl*)this, 6); }
  1079.                 CHsz Tag() { return CHsz((CVBControl*)this, 10); }
  1080.                 CInt TabIndex() { return CInt((CVBControl*)this, 11); }
  1081.                 CBool TabStop() { return CBool((CVBControl*)this, 12); }
  1082.                 CBool Enabled() { return CBool((CVBControl*)this, 13); }
  1083.                 CLong CornersColor() { return CLong((CVBControl*)this, 15); }
  1084.                 CLong BackColor() { return CLong((CVBControl*)this, 16); }
  1085.                 CBool HandCursor() { return CBool((CVBControl*)this, 17); }
  1086.                 CBool ShowBorder() { return CBool((CVBControl*)this, 18); }
  1087.                 CBool ShowFocus() { return CBool((CVBControl*)this, 19); }
  1088.                 CInt XMargin() { return CInt((CVBControl*)this, 20); }
  1089.                 CInt YMargin() { return CInt((CVBControl*)this, 21); }
  1090.                 CInt BitmapWidth() { return CInt((CVBControl*)this, 22); }
  1091.                 CInt BitmapHeight() { return CInt((CVBControl*)this, 23); }
  1092.                 CPicture PictureUp() { return CPicture((CVBControl*)this, 24); }
  1093.                 CPicture PictureDown() { return CPicture((CVBControl*)this, 25); }
  1094.                 CPicture PictureDisabled() { return CPicture((CVBControl*)this, 26); }
  1095.                 CPicture PictureFocus() { return CPicture((CVBControl*)this, 27); }
  1096.                 CInt DisplayMode() { return CInt((CVBControl*)this, 28); }
  1097.                 CBool UseSystemColors() { return CBool((CVBControl*)this, 29); }
  1098.                 CBool UseTranspBitmap() { return CBool((CVBControl*)this, 33); }
  1099.                 CBool OnOffMode() { return CBool((CVBControl*)this, 34); }
  1100.                 CBool ButtonState() { return CBool((CVBControl*)this, 35); } // special
  1101.                 CBool AlwaysRepaint() { return CBool((CVBControl*)this, 36); }                                         
  1102.                 CBool SetState() { return CBool((CVBControl*)this, 37); }// special                                         
  1103.                 CBool RadioMode() { return CBool((CVBControl*)this, 38); }// special                                         
  1104.                 CBool UseDblClick() { return CBool((CVBControl*)this, 39); } // 2.0                                         
  1105.                 // Events support 
  1106.                 short EventKeyCode( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 1); } // KeyUp, KeyDown
  1107.                 short EventKeyShift( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } // KeyUp, KeyDown
  1108.                 short EventMouseBtn( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 3); } // MouseUp, MouseDown
  1109.                 short EventMouseShift( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 2); } // MouseUp, MouseDown
  1110.                 short EventMouseX( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 1); } // MouseUp, MouseDown
  1111.                 short EventMouseY( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } // MouseUp, MouseDown
  1112.                 };
  1113.                 
  1114.                 
  1115.             /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  1116.             //    CVBGauge class for the VBGauge VBX
  1117.             //    
  1118.             class CVBGauge : public CStatic
  1119.                 {
  1120.                 public:
  1121.                 CVBControl* GetVBX() { return (CVBControl*)this; };
  1122.                 CHsz CtlName() { return CHsz((CVBControl*)this, 0); }
  1123.                 CLong Left() { return CLong((CVBControl*)this, 2); }
  1124.                 CLong Top() { return CLong((CVBControl*)this, 3); }
  1125.                 CLong Width() { return CLong((CVBControl*)this, 4); }
  1126.                 CLong Height() { return CLong((CVBControl*)this, 5); }
  1127.                 CBool Visible() { return CBool((CVBControl*)this, 6); }
  1128.                 CHsz Tag() { return CHsz((CVBControl*)this, 10); }
  1129.                 CInt BorderStyle() { return CInt((CVBControl*)this, 11); }
  1130.                 //CBool TabStop() { return CBool((CVBControl*)this, 12); } // (removed)
  1131.                 CBool Enabled() { return CBool((CVBControl*)this, 12); }
  1132.                 CInt GaugeColor() { return CInt((CVBControl*)this, 14); }
  1133.                 CInt BackColor() { return CInt((CVBControl*)this, 15); }
  1134.                 CBool VariableColors() { return CBool((CVBControl*)this, 16); }
  1135.                 CFloat Minimum() { return CFloat((CVBControl*)this, 17); }
  1136.                 CFloat Maximum() { return CFloat((CVBControl*)this, 18); }
  1137.                 CFloat Value() { return CFloat((CVBControl*)this, 19); }
  1138.                 CBool Gauge3DBorder() { return CBool((CVBControl*)this, 20); }
  1139.                 CBool Border3D() { return CBool((CVBControl*)this, 24); }
  1140.                 CBool ShowTheRate() { return CBool((CVBControl*)this, 25); }
  1141.                 };
  1142.             
  1143.             
  1144.             
  1145.                                         
  1146.             /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  1147.             //    CVBTab class for the VBTab VBX
  1148.             //    
  1149.             class CVBTab : public CButton
  1150.                 {
  1151.                 public:
  1152.                 CVBControl* GetVBX() { return (CVBControl*)this; };
  1153.                 CHsz CtlName() { return CHsz((CVBControl*)this, 0); }
  1154.                 CLong Left() { return CLong((CVBControl*)this, 2); }
  1155.                 CLong Top() { return CLong((CVBControl*)this, 3); }
  1156.                 CLong Width() { return CLong((CVBControl*)this, 4); }
  1157.                 CLong Height() { return CLong((CVBControl*)this, 5); }
  1158.                 CBool Visible() { return CBool((CVBControl*)this, 6); }
  1159.                 CHsz Tag() { return CHsz((CVBControl*)this, 10); }
  1160.                 CLong BackColor() { return CLong((CVBControl*)this, 11); }
  1161.                 CLong FlashColor() { return CLong((CVBControl*)this, 12); }
  1162.                 CLong FlashTxtColor() { return CLong((CVBControl*)this, 13); }
  1163.                 CBool Active() { return CBool((CVBControl*)this, 14); } // special
  1164.                 CBool HandCursor() { return CBool((CVBControl*)this, 15); }
  1165.                 CInt Text3D() { return CInt((CVBControl*)this, 16); }
  1166.                 CHsz Caption() { return CHsz((CVBControl*)this, 19); }
  1167.                 CHsz FontName() { return CHsz((CVBControl*)this, 20); }
  1168.                 CBool FontBold() { return CBool((CVBControl*)this, 21); }
  1169.                 CBool FontItalic() { return CBool((CVBControl*)this, 22); }
  1170.                 CBool FontUnderline() { return CBool((CVBControl*)this, 23); }
  1171.                 CFloat FontSize() { return CFloat((CVBControl*)this, 24); }
  1172.                 CLong ForeColor() { return CLong((CVBControl*)this, 25); }
  1173.                 CBool TabStop() { return CBool((CVBControl*)this, 27); }
  1174.                 CBool Enabled() { return CBool((CVBControl*)this, 28); }
  1175.                 CInt MousePointer() { return CInt((CVBControl*)this, 29); }
  1176.                 CBool UseSystemColors() { return CBool((CVBControl*)this, 32); }
  1177.                 CBool FirstLine() { return CBool((CVBControl*)this, 33); }
  1178.                 CBool FirstLeft() { return CBool((CVBControl*)this, 34); }
  1179.                 CBool FirstRight() { return CBool((CVBControl*)this, 35); }
  1180.                 CBool TabCorners() { return CBool((CVBControl*)this, 36); }
  1181.                 // Events support 
  1182.                 short EventKeyCode( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 1); } // KeyUp, KeyDown
  1183.                 short EventKeyShift( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } // KeyUp, KeyDown
  1184.                 short EventKeyPress( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAM( short, lp ); } // KeyPress
  1185.                 short EventMouseBtn( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 3); } // MouseUp, MouseDown
  1186.                 short EventMouseShift( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 2); } // MouseUp, MouseDown
  1187.                 short EventMouseX( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 1); } // MouseUp, MouseDown
  1188.                 short EventMouseY( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } // MouseUp, MouseDown
  1189.                 };
  1190.                 
  1191.             
  1192.             /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  1193.             //    CVBText class for the VBText VBX
  1194.             //    
  1195.             class CVBText : public CStatic
  1196.                 {
  1197.                 public:
  1198.                 CVBControl* GetVBX() { return (CVBControl*)this; };
  1199.                 CHsz CtlName() { return CHsz((CVBControl*)this, 0); }
  1200.                 CLong Left() { return CLong((CVBControl*)this, 2); }
  1201.                 CLong Top() { return CLong((CVBControl*)this, 3); }
  1202.                 CLong Width() { return CLong((CVBControl*)this, 4); }
  1203.                 CLong Height() { return CLong((CVBControl*)this, 5); }
  1204.                 CBool Visible() { return CBool((CVBControl*)this, 6); }
  1205.                 CHsz Tag() { return CHsz((CVBControl*)this, 10); }
  1206.                 CInt BackColor() { return CInt((CVBControl*)this, 11); }
  1207.                 CInt Style3D() { return CInt((CVBControl*)this, 12); }
  1208.                 CInt VerticalAlignment() { return CInt((CVBControl*)this, 13); }
  1209.                 CInt HorizAlignment() { return CInt((CVBControl*)this, 14); }
  1210.                 CBool Multiline() { return CBool((CVBControl*)this, 15); }
  1211.                 CBool Autosizing() { return CBool((CVBControl*)this, 16); }
  1212.                 CHsz Caption() { return CHsz((CVBControl*)this, 20); }
  1213.                 CHsz FontName() { return CHsz((CVBControl*)this, 21); }
  1214.                 CBool FontBold() { return CBool((CVBControl*)this, 22); }
  1215.                 CBool FontItalic() { return CBool((CVBControl*)this, 23); }
  1216.                 CBool FontUnderline() { return CBool((CVBControl*)this, 24); }
  1217.                 CFloat FontSize() { return CFloat((CVBControl*)this, 25); }
  1218.                 CLong ForeColor() { return CLong((CVBControl*)this, 26); }
  1219.                 //CBool TabStop() { return CBool((CVBControl*)this, 28); } // removed
  1220.                 CBool Enabled() { return CBool((CVBControl*)this, 27); }
  1221.                 CInt MousePointer() { return CInt((CVBControl*)this, 28); }
  1222.                 CInt Frame3D() { return CInt((CVBControl*)this, 30); }
  1223.                 CInt CaseType() { return CInt((CVBControl*)this, 31); }    //2.0
  1224.                 // Events support 
  1225.                 short EventKeyCode( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 1); } // KeyUp, KeyDown
  1226.                 short EventKeyShift( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } // KeyUp, KeyDown
  1227.                 short EventMouseBtn( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 3); } // MouseUp, MouseDown
  1228.                 short EventMouseShift( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 2); } // MouseUp, MouseDown
  1229.                 short EventMouseX( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 1); } // MouseUp, MouseDown
  1230.                 short EventMouseY( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } // MouseUp, MouseDown
  1231.                 };
  1232.             
  1233.             
  1234.             
  1235.             /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  1236.             //    CVBAnim class for the VBAnim VBX
  1237.             //    
  1238.             class CVBAnim : public CStatic
  1239.                 {
  1240.                 public:
  1241.                 CVBControl* GetVBX() { return (CVBControl*)this; };
  1242.                 CHsz CtlName() { return CHsz((CVBControl*)this, 0); }
  1243.                 CLong Left() { return CLong((CVBControl*)this, 2); }
  1244.                 CLong Top() { return CLong((CVBControl*)this, 3); }
  1245.                 CLong Width() { return CLong((CVBControl*)this, 4); }
  1246.                 CLong Height() { return CLong((CVBControl*)this, 5); }
  1247.                 CBool Visible() { return CBool((CVBControl*)this, 6); }
  1248.                 CHsz Tag() { return CHsz((CVBControl*)this, 10); }
  1249.                 CInt DisplayMode() { return CInt((CVBControl*)this, 11); }
  1250.                 CInt XMargin() { return CInt((CVBControl*)this, 12); }
  1251.                 CInt YMargin() { return CInt((CVBControl*)this, 13); }
  1252.                 CInt PictureWidth() { return CInt((CVBControl*)this, 14); }
  1253.                 CInt PictureHeight() { return CInt((CVBControl*)this, 15); }
  1254.                 CPicture Picture1() { return CPicture((CVBControl*)this, 16); }
  1255.                 CPicture Picture2() { return CPicture((CVBControl*)this, 17); }
  1256.                 CPicture Picture3() { return CPicture((CVBControl*)this, 18); }
  1257.                 CPicture Picture4() { return CPicture((CVBControl*)this, 19); }
  1258.                 CPicture Picture5() { return CPicture((CVBControl*)this, 20); }
  1259.                 CInt BackColor() { return CInt((CVBControl*)this, 21); }
  1260.                 CInt Speed() { return CInt((CVBControl*)this, 22); }
  1261.                 CInt ProcessMode() { return CInt((CVBControl*)this, 23); }
  1262.                 CBool Border3D() { return CBool((CVBControl*)this, 24); }
  1263.                 //CInt TabIndex() { return CInt((CVBControl*)this, 28); } // (removed)
  1264.                 //CBool TabStop() { return CBool((CVBControl*)this, 29); } // (removed)
  1265.                 CBool Enabled() { return CBool((CVBControl*)this, 28); }
  1266.                 CInt MousePointer() { return CInt((CVBControl*)this, 29); }
  1267.                 CBool AlwaysRepaint() { return CBool((CVBControl*)this, 31); }
  1268.                 CBool UseTransparentBitmap() { return CBool((CVBControl*)this, 32); }
  1269.                 // Events support 
  1270.                 short EventKeyCode( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 1); } // KeyUp, KeyDown
  1271.                 short EventKeyShift( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } // KeyUp, KeyDown
  1272.                 short EventMouseBtn( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 3); } // MouseUp, MouseDown
  1273.                 short EventMouseShift( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 2); } // MouseUp, MouseDown
  1274.                 short EventMouseX( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 1); } // MouseUp, MouseDown
  1275.                 short EventMouseY( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } // MouseUp, MouseDown
  1276.                 };
  1277.                 
  1278.             
  1279.             
  1280.                 
  1281.             /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  1282.             //    CVBLine class for the VBLine VBX
  1283.             //    
  1284.             class CVBLine : public CStatic
  1285.                 {
  1286.                 public:
  1287.                 CVBControl* GetVBX() { return (CVBControl*)this; };
  1288.                 CHsz CtlName() { return CHsz((CVBControl*)this, 0); }
  1289.                 CLong Left() { return CLong((CVBControl*)this, 2); }
  1290.                 CLong Top() { return CLong((CVBControl*)this, 3); }
  1291.                 CLong Width() { return CLong((CVBControl*)this, 4); }
  1292.                 CLong Height() { return CLong((CVBControl*)this, 5); }
  1293.                 CBool Visible() { return CBool((CVBControl*)this, 6); }
  1294.                 CHsz Tag() { return CHsz((CVBControl*)this, 10); }
  1295.                 CInt LineStyle() { return CInt((CVBControl*)this, 11); }
  1296.                 CInt Style3D() { return CInt((CVBControl*)this, 12); }
  1297.                 CInt BackColor() { return CInt((CVBControl*)this, 13); }
  1298.                 CInt LineColor() { return CInt((CVBControl*)this, 14); }
  1299.                 CInt LineThickness() { return CInt((CVBControl*)this, 15); }
  1300.                 //CBool TabStop() { return CBool((CVBControl*)this, 20); } // removed
  1301.                 CInt MousePointer() { return CInt((CVBControl*)this, 20); }
  1302.                 // Events support 
  1303.                 short EventMouseBtn( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 3); } // MouseUp, MouseDown
  1304.                 short EventMouseShift( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 2); } // MouseUp, MouseDown
  1305.                 short EventMouseX( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 1); } // MouseUp, MouseDown
  1306.                 short EventMouseY( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAMINDEX( short, lp, 0); } // MouseUp, MouseDown
  1307.                 };
  1308.                 
  1309.  
  1310.             /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  1311.             //    CVBDDrop class for the VBDDrop VBX
  1312.             //    
  1313.             class CVBDDrop : public CStatic
  1314.                 {
  1315.                 public:
  1316.                 CVBControl* GetVBX() { return (CVBControl*)this; };
  1317.                 CHsz CtlName() { return CHsz((CVBControl*)this, 0); }
  1318.                 CLong Left() { return CLong((CVBControl*)this, 2); }
  1319.                 CLong Top() { return CLong((CVBControl*)this, 3); }
  1320.                 CLong Width() { return CLong((CVBControl*)this, 4); }
  1321.                 CLong Height() { return CLong((CVBControl*)this, 5); }
  1322.                 CInt DroppedFiles() { return CInt((CVBControl*)this, 11); } // special
  1323.                 // The following array property is read-only
  1324.                 CString Filename( int index = 0) { return ((CVBControl*)this)->GetStrProperty( 12, index ); } // special
  1325.                 CLong BackColor() { return CLong((CVBControl*)this, 13); }
  1326.                 CBool Visible() { return CBool((CVBControl*)this, 14); }
  1327.                 CBool UseSystemColors() { return CBool((CVBControl*)this, 15); }    // (2.0)
  1328.                 // Event support
  1329.                 short EventDroppedFiles( LPVOID lp ) { return (short)AFX_NUM_EVENTPARAM( short, lp ); } // Number of dropped files                
  1330.                 };
  1331.             
  1332.             
  1333.             
  1334.             /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  1335.             //    CVBNote class for the VBNote VBX
  1336.             //    
  1337.             class CVBNote : public CStatic
  1338.                 {
  1339.                 public:
  1340.                 CVBControl* GetVBX() { return (CVBControl*)this; };
  1341.                 CHsz CtlName() { return CHsz((CVBControl*)this, 0); }
  1342.                 CLong Left() { return CLong((CVBControl*)this, 2); }
  1343.                 CLong Top() { return CLong((CVBControl*)this, 3); }
  1344.                 CLong Width() { return CLong((CVBControl*)this, 4); }
  1345.                 CLong Height() { return CLong((CVBControl*)this, 5); }
  1346.                 CHsz Caption() { return CHsz((CVBControl*)this, 7); }
  1347.                 CHsz FontName() { return CHsz((CVBControl*)this, 8); }
  1348.                 CBool FontBold() { return CBool((CVBControl*)this, 9); }
  1349.                 CBool FontItalic() { return CBool((CVBControl*)this, 10); }
  1350.                 CFloat FontSize() { return CFloat((CVBControl*)this, 11); }
  1351.                 CLong ForeColor() { return CLong((CVBControl*)this, 12); }
  1352.                 CLong BackColor() { return CLong((CVBControl*)this, 13); }
  1353.                 //CBool TabStop() { return CBool((CVBControl*)this, 14); } // removed
  1354.                 };
  1355.             
  1356.             
  1357.             
  1358.             /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  1359.             //    CVB3D class for the VB3D VBX
  1360.             //    
  1361.             class CVB3D : public CStatic
  1362.                 {
  1363.                 public:
  1364.                 CVBControl* GetVBX() { return (CVBControl*)this; };
  1365.                 CHsz CtlName() { return CHsz((CVBControl*)this, 0); }
  1366.                 CLong Left() { return CLong((CVBControl*)this, 2); }
  1367.                 CLong Top() { return CLong((CVBControl*)this, 3); }
  1368.                 CLong Width() { return CLong((CVBControl*)this, 4); }
  1369.                 CLong Height() { return CLong((CVBControl*)this, 5); }
  1370.                 // CBool TabStop() { return CBool((CVBControl*)this, 7); } // (removed)
  1371.                 CHsz Tag() { return CHsz((CVBControl*)this, 8); }
  1372.                 CBool UseSystemColors() { return CBool((CVBControl*)this, 12); }
  1373.                 CInt Mode3D() { return CInt((CVBControl*)this, 13); }
  1374.                 };
  1375.                                                 
  1376.  
  1377.  
  1378.  
  1379. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  1380. //    PART 3 - DDXs
  1381. //    Don' t forget to call UpdateData when necessary (as specified in the MFC doc files)
  1382. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  1383. #ifdef _CSTR30
  1384. #pragma message("VBXSTD20.H: Including VBX Studio DDX routines...")
  1385. #ifdef _AFXDLL
  1386. #error _AFXDLL not available with String Studio 3.0...
  1387. #endif
  1388.  
  1389. #define VBEdit_CTime    CTime
  1390. #pragma optimize("",off)
  1391.  
  1392.  
  1393.             // ----------------------------------------------------------------------------------------------------------
  1394.             //    VBEdit CTime DDXs:
  1395.             //    There are 2 kinds of dates: with or without the century
  1396.             //    and 2 kinds of display modes: beginning with the day (french mode) or 
  1397.             //    the month (us mode)
  1398.             //    and maybe we have to replace '/' with the current date separator
  1399.             // ----------------------------------------------------------------------------------------------------------
  1400.             _inline void AFXAPI DDX_VBEditCTime( CDataExchange* pDX, int nIDC, int nPropIndex, CTime& value )    // 2.0
  1401.                 {
  1402.                 CStr szTemp, szTemp2;
  1403.                 char szDateSeparator[5];
  1404.                 int iMode = 0;
  1405.                 
  1406.                 if ( pDX->m_pDlgWnd )
  1407.                     if ( IsWindow(pDX->m_pDlgWnd->m_hWnd) )
  1408.                         if ( pDX->m_pDlgWnd->GetDlgItem(nIDC) )
  1409.                             iMode = (int)((CVBControl*)((CWnd*)(pDX->m_pDlgWnd)->GetDlgItem(nIDC)))->GetNumProperty( 30 );
  1410.                 if (( iMode < 10 ) || ( iMode > 13 ))
  1411.                     return;
  1412.                     
  1413.                 if ( pDX->m_bSaveAndValidate ) // Dialog to variable
  1414.                     {
  1415.                     pDX->m_pDlgWnd->GetDlgItemText( nIDC, szTemp.GetBuffer(30), 29 );
  1416.                     szTemp.ReleaseBuffer();
  1417.                     szTemp2 = szTemp;
  1418.                     if ( iMode == INPUT_DATEUS )
  1419.                         { 
  1420.                         szTemp2 = szTemp2.Left( 6 );
  1421.                         szTemp2 += "19";        
  1422.                         szTemp2 += szTemp.Right( 2 );
  1423.                         }
  1424.                     else if ( iMode == INPUT_DATEFRENCH )
  1425.                         {
  1426.                         szTemp2 = szTemp2.Left( 6 );
  1427.                         szTemp2 += "19";        
  1428.                         szTemp2 += szTemp.Right( 2 );
  1429.                         }
  1430.                     else if ( iMode == INPUT_DATEFRENCHLONG )
  1431.                         {
  1432.                         szTemp2 = szTemp2.Left( 6 );
  1433.                         szTemp2 += "19";        
  1434.                         szTemp2 += szTemp.Right( 2 );
  1435.                         }
  1436.                     // if the Windows configuration is selected we need to change the date separator
  1437.                     if ( (BOOL)((CVBControl*)((CWnd*)(pDX->m_pDlgWnd)->GetDlgItem(nIDC)))->GetNumProperty(49 ) )
  1438.                         {
  1439.                         GetProfileString( "Intl", "sDate", "/", (LPSTR)szDateSeparator, 3 );
  1440.                         if ( szDateSeparator == NULL )
  1441.                             lstrcpy( szDateSeparator, "/" );
  1442.                         if ( szDateSeparator[0] == '\0' )    
  1443.                             lstrcpy( szDateSeparator, "/" );
  1444.                         if ( !( lstrcmpi( szDateSeparator, "/" ) == 0 ) )
  1445.                             szTemp2.Replace( szDateSeparator, "/" );
  1446.                         }
  1447.                     // then compute
  1448.                     if ( ( iMode == INPUT_DATEFRENCHLONG ) ||  ( iMode == INPUT_DATEFRENCH ))
  1449.                         value = szTemp2.ToTime("D/M/Y");
  1450.                     else
  1451.                         value = szTemp2.ToTime("M/D/Y");
  1452.                     }
  1453.                 else    // variable to dialog
  1454.                     {                                    
  1455.                     if ( value != 0 )
  1456.                         {
  1457.                         if ( iMode == INPUT_DATEUS )
  1458.                             szTemp.From( value );
  1459.                         else if ( iMode == INPUT_DATEFRENCH )
  1460.                             szTemp.From( value, "%d/%m/%y" );
  1461.                         else if ( iMode == INPUT_DATEUSLONG )
  1462.                             szTemp.From( value, "%m/%d/%Y" );
  1463.                         else
  1464.                             szTemp.From( value, "%d/%m/%Y" );
  1465.                         if ( (BOOL)((CVBControl*)((CWnd*)(pDX->m_pDlgWnd)->GetDlgItem(nIDC)))->GetNumProperty(49 ) )
  1466.                             {
  1467.                             GetProfileString( "Intl", "sDate", "/", (LPSTR)szDateSeparator, 3 );
  1468.                             if ( szDateSeparator == NULL )
  1469.                                 lstrcpy( szDateSeparator, "/" );
  1470.                             if ( szDateSeparator[0] == '\0' )    
  1471.                                 lstrcpy( szDateSeparator, "/" );
  1472.                             if ( !( lstrcmpi( szDateSeparator, "/" ) == 0 ) )
  1473.                                 szTemp.Replace( "/", szDateSeparator );
  1474.                             }                                                               
  1475.                         pDX->m_pDlgWnd->SetDlgItemText( nIDC, szTemp );
  1476.                         }
  1477.                     }
  1478.                 }
  1479.                         
  1480.                         
  1481.             
  1482.             _inline void AFXAPI DDX_VBCStrText(CDataExchange* pDX, int nIDC, int nPropIndex, CStr& value )
  1483.                 { DDX_VBText( pDX, nIDC, nPropIndex, (CString&) value); }
  1484.             _inline void AFXAPI DDX_CStrText(CDataExchange* pDX, int nIDC, CStr& value )
  1485.                 { DDX_Text( pDX, nIDC, (CString&) value); }
  1486.  
  1487. #pragma optimize("",on)
  1488.  
  1489. #ifdef _CSTR30_HASNUM
  1490.  
  1491.         #define VBMask_double double
  1492.         #define VBEdit_double double
  1493.  
  1494. #pragma optimize("",off)
  1495.         
  1496.             // -----------------------------------------
  1497.             // Exchange a double with VBMask
  1498.             // -----------------------------------------
  1499.             _inline void AFXAPI DDX_CVBMaskDouble( CDataExchange* pDX, int nIDC, int nPropIndex, double& value )    // 2.0
  1500.                 {                                                                                                                                           
  1501.                 CStr szTemp = "0";
  1502.                 if ( pDX->m_bSaveAndValidate ) // Dialog to variable
  1503.                     {
  1504.                     if ( pDX->m_pDlgWnd )
  1505.                         if ( IsWindow(pDX->m_pDlgWnd->m_hWnd) )
  1506.                             if ( pDX->m_pDlgWnd->GetDlgItem(nIDC) )
  1507.                                 szTemp = (LPCSTR)((CVBControl*)((CWnd*)(pDX->m_pDlgWnd)->GetDlgItem(nIDC)))->GetStrProperty( 54 );
  1508.                     value = szTemp.ToDouble(" ",".");
  1509.                     }
  1510.                 else // variable to Dialog
  1511.                     {
  1512.                     if ( pDX->m_pDlgWnd )
  1513.                         if ( IsWindow(pDX->m_pDlgWnd->m_hWnd) )
  1514.                             if ( pDX->m_pDlgWnd->GetDlgItem(nIDC) )
  1515.                                 {
  1516.                                 szTemp.From( value, 2  /*Precision*/, "" );
  1517.                                 ((CVBControl*)((CWnd*)(pDX->m_pDlgWnd)->GetDlgItem(nIDC)))->SetStrProperty( 54/*"UnformattedValue"*/, (LPCSTR)szTemp );
  1518.                                 }
  1519.                     }
  1520.                 }
  1521.         
  1522.             // -----------------------------------------
  1523.             //     Exchange a double value with a VBEdit
  1524.             //    Depending on the VBEdit settings
  1525.             // -----------------------------------------
  1526.             _inline void AFXAPI DDX_CVBEditDouble( CDataExchange* pDX, int nIDC, int nPropIndex, double& value )    // 2.0
  1527.                 {                                                                                                                                           
  1528.                 CStr szTemp;                                            
  1529.                 if ( pDX->m_bSaveAndValidate ) // Dialog to variable
  1530.                     {
  1531.                     if ( pDX->m_pDlgWnd )
  1532.                         if ( IsWindow(pDX->m_pDlgWnd->m_hWnd) )
  1533.                             if ( pDX->m_pDlgWnd->GetDlgItem(nIDC) )
  1534.                                 {
  1535.                                 pDX->m_pDlgWnd->GetDlgItemText( nIDC, szTemp.GetBuffer(30), 29 );
  1536.                                 szTemp.ReleaseBuffer();
  1537.                                 if ( (BOOL)( ((CVBControl*)((CWnd*)(pDX->m_pDlgWnd)->GetDlgItem(nIDC)))->GetNumProperty( 49 )) )
  1538.                                     value = szTemp.ToDouble((LPCSTR)AfxGetThousandsSeparator(), (LPCSTR)AfxGetDecimalPoint());
  1539.                                 else
  1540.                                     value = szTemp.ToDouble(" ",".");
  1541.                                 }
  1542.                     }
  1543.                 else // variable to Dialog
  1544.                     {
  1545.                     if ( pDX->m_pDlgWnd )
  1546.                         if ( IsWindow(pDX->m_pDlgWnd->m_hWnd) )
  1547.                             if ( pDX->m_pDlgWnd->GetDlgItem(nIDC) )
  1548.                                 {
  1549.                                 if ( (BOOL)( ((CVBControl*)((CWnd*)(pDX->m_pDlgWnd)->GetDlgItem(nIDC)))->GetNumProperty( 49 )) )
  1550.                                     {
  1551.                                     szTemp.From( value, (int)((CVBControl*)((CWnd*)(pDX->m_pDlgWnd)->GetDlgItem(nIDC)))->GetNumProperty( 50 ), AfxGetThousandsSeparator()!= "" ?(LPCSTR)AfxGetThousandsSeparator():"" ,(LPCSTR)AfxGetDecimalPoint() );
  1552.                                     }
  1553.                                 else
  1554.                                     {
  1555.                                     szTemp.From( value, (int)((CVBControl*)((CWnd*)(pDX->m_pDlgWnd)->GetDlgItem(nIDC)))->GetNumProperty( 50 )/*precision*/, "" );
  1556.                                     }
  1557.                            szTemp.Trim();
  1558.                         pDX->m_pDlgWnd->SetDlgItemText( nIDC, (LPCSTR)szTemp );
  1559.                         }
  1560.                     }
  1561.                 }
  1562. #pragma optimize("",on)
  1563.             
  1564.             
  1565. #endif // _HASNUM            
  1566. #else
  1567. #pragma message("VBXSTD20.H: String Studio not found, no CTime, CStr DDXs...")
  1568. #endif
  1569.             
  1570.             _inline void AFXAPI DDX_VBEdit(CDataExchange* pDX, int nIDC, CVBEdit*& rpControl)
  1571.                 {    DDX_VBControl( pDX, nIDC, (CVBControl*&) rpControl);    }
  1572.             _inline void AFXAPI DDX_VBList(CDataExchange* pDX, int nIDC, CVBList*& rpControl)
  1573.                 {    DDX_VBControl( pDX, nIDC, (CVBControl*&) rpControl);    }
  1574.             _inline void AFXAPI DDX_VBFList(CDataExchange* pDX, int nIDC, CVBFList*& rpControl)
  1575.                 {    DDX_VBControl( pDX, nIDC, (CVBControl*&) rpControl);    }
  1576.             _inline void AFXAPI DDX_VBCombo(CDataExchange* pDX, int nIDC, CVBCombo*& rpControl)
  1577.                 {    DDX_VBControl( pDX, nIDC, (CVBControl*&) rpControl);    }
  1578.             _inline void AFXAPI DDX_VBFCombo(CDataExchange* pDX, int nIDC, CVBFCombo*& rpControl)
  1579.                 {    DDX_VBControl( pDX, nIDC, (CVBControl*&) rpControl);    }
  1580.             _inline void AFXAPI DDX_VBSpin(CDataExchange* pDX, int nIDC, CVBSpin*& rpControl)
  1581.                 {    DDX_VBControl( pDX, nIDC, (CVBControl*&) rpControl);    }
  1582.             _inline void AFXAPI DDX_VBTab(CDataExchange* pDX, int nIDC, CVBTab*& rpControl)
  1583.                 {    DDX_VBControl( pDX, nIDC, (CVBControl*&) rpControl);    }
  1584.             _inline void AFXAPI DDX_VBCText(CDataExchange* pDX, int nIDC, CVBText*& rpControl)
  1585.                 {    DDX_VBControl( pDX, nIDC, (CVBControl*&) rpControl);    }
  1586.             _inline void AFXAPI DDX_VBAnim(CDataExchange* pDX, int nIDC, CVBAnim*& rpControl)
  1587.                 {    DDX_VBControl( pDX, nIDC, (CVBControl*&) rpControl);    }
  1588.             _inline void AFXAPI DDX_VBPicBtn(CDataExchange* pDX, int nIDC, CVBPicBtn*& rpControl)
  1589.                 {    DDX_VBControl( pDX, nIDC, (CVBControl*&) rpControl);    }
  1590.             _inline void AFXAPI DDX_VBDDrop(CDataExchange* pDX, int nIDC, CVBDDrop*& rpControl)
  1591.                 {    DDX_VBControl( pDX, nIDC, (CVBControl*&) rpControl);    }
  1592.             _inline void AFXAPI DDX_VBLine(CDataExchange* pDX, int nIDC, CVBLine*& rpControl)
  1593.                 {    DDX_VBControl( pDX, nIDC, (CVBControl*&) rpControl);    }
  1594.             _inline void AFXAPI DDX_VB3D(CDataExchange* pDX, int nIDC, CVB3D*& rpControl)
  1595.                 {    DDX_VBControl( pDX, nIDC, (CVBControl*&) rpControl);    }
  1596.             _inline void AFXAPI DDX_VBNote(CDataExchange* pDX, int nIDC, CVBNote*& rpControl)
  1597.                 {    DDX_VBControl( pDX, nIDC, (CVBControl*&) rpControl);    }
  1598.             _inline void AFXAPI DDX_VBGauge(CDataExchange* pDX, int nIDC, CVBGauge*& rpControl)
  1599.                 {    DDX_VBControl( pDX, nIDC, (CVBControl*&) rpControl);    }
  1600.             _inline void AFXAPI DDX_VBTabList(CDataExchange* pDX, int nIDC, CVBTabList*& rpControl) // 2.0
  1601.                 {    DDX_VBControl( pDX, nIDC, (CVBControl*&) rpControl);    }
  1602.             _inline void AFXAPI DDX_VBTabFList(CDataExchange* pDX, int nIDC, CVBTabFList*& rpControl) // 2.0
  1603.                 {    DDX_VBControl( pDX, nIDC, (CVBControl*&) rpControl);    }
  1604.             _inline void AFXAPI DDX_VBFlxTxt(CDataExchange* pDX, int nIDC, CVBFlxTxt*& rpControl) // 2.0
  1605.                 {    DDX_VBControl( pDX, nIDC, (CVBControl*&) rpControl);    }
  1606.             _inline void AFXAPI DDX_VBBitmap(CDataExchange* pDX, int nIDC, CVBBitmap*& rpControl) // 2.0
  1607.                 {    DDX_VBControl( pDX, nIDC, (CVBControl*&) rpControl);    }
  1608.             _inline void AFXAPI DDX_VBMask(CDataExchange* pDX, int nIDC, CVBMask*& rpControl) // 2.0
  1609.                 {    DDX_VBControl( pDX, nIDC, (CVBControl*&) rpControl);    }
  1610.             _inline void AFXAPI DDX_VBIni(CDataExchange* pDX, int nIDC, CVBIni*& rpControl) // 2.0
  1611.                 {    DDX_VBControl( pDX, nIDC, (CVBControl*&) rpControl);    }
  1612.             _inline void AFXAPI DDX_VBFInfo(CDataExchange* pDX, int nIDC, CVBFInfo*& rpControl) // 2.0
  1613.                 {    DDX_VBControl( pDX, nIDC, (CVBControl*&) rpControl);    }
  1614.             
  1615.   
  1616.   
  1617.